diff --git a/DeploymentFiles/deployment-pipeline.yml b/DeploymentFiles/deployment-pipeline.yml index 04e1412c1..f08670f32 100644 --- a/DeploymentFiles/deployment-pipeline.yml +++ b/DeploymentFiles/deployment-pipeline.yml @@ -22,7 +22,7 @@ variables: isPreRelease: false jobs: - - job: Build + - job: Build & Deploy steps: - task: UseDotNet@2 displayName: 'Install .NET Core 6 SDK' @@ -112,7 +112,7 @@ jobs: workingFolder: '$(Build.Repository.LocalPath)' arguments: '$(outputFolder) $(Build.Repository.LocalPath)' failOnStandardError: true - + - task: PowerShell@2 displayName: 'Download dos2unix for line endings' inputs: @@ -120,78 +120,69 @@ jobs: script: 'wget https://raidmax.org/downloads/dos2unix.exe' failOnStderr: true workingDirectory: '$(Build.Repository.LocalPath)\Application\BuildScripts' - - - job: Transform - dependsOn: Build - steps: - - task: CmdLine@2 - displayName: 'Convert Linux start script line endings' - inputs: - script: | - echo changing to encoding for linux start script - dos2unix $(outputFolder)\StartIW4MAdmin.sh - dos2unix $(outputFolder)\UpdateIW4MAdmin.sh - echo creating website version filename - @echo IW4MAdmin-$(Build.BuildNumber) > $(Build.ArtifactStagingDirectory)\version_$(releaseType).txt - workingDirectory: '$(Build.Repository.LocalPath)\Application\BuildScripts' - - - task: CopyFiles@2 - displayName: 'Move script plugins into publish directory' - inputs: - SourceFolder: '$(Build.Repository.LocalPath)\Plugins\ScriptPlugins' - Contents: '*.js' - TargetFolder: '$(outputFolder)\Plugins' - - - task: CopyFiles@2 - displayName: 'Move binary plugins into publish directory' - inputs: - SourceFolder: '$(Build.Repository.LocalPath)\BUILD\Plugins\' - Contents: '*.dll' - TargetFolder: '$(outputFolder)\Plugins' - - - task: CmdLine@2 - displayName: 'Move webfront resources into publish directory' - inputs: - script: 'xcopy /s /y /f wwwroot $(outputFolder)\wwwroot' - workingDirectory: '$(Build.Repository.LocalPath)\BUILD\Plugins' - failOnStderr: true - - - task: CmdLine@2 - displayName: 'Move gamescript files into publish directory' - inputs: - script: 'echo d | xcopy /s /y /f GameFiles $(outputFolder)\GameFiles' - workingDirectory: '$(Build.Repository.LocalPath)' - failOnStderr: true - - - job: Artifact - dependsOn: Transform - steps: - - task: ArchiveFiles@2 - displayName: 'Generate final zip file' - inputs: - rootFolderOrFile: '$(outputFolder)' - includeRootFolder: false - archiveType: 'zip' - archiveFile: '$(Build.ArtifactStagingDirectory)/IW4MAdmin-$(Build.BuildNumber).zip' - replaceExistingArchive: true - - - task: PublishPipelineArtifact@1 - inputs: - targetPath: '$(Build.ArtifactStagingDirectory)/IW4MAdmin-$(Build.BuildNumber).zip' - artifact: 'IW4MAdmin-$(Build.BuildNumber).zip' - - - task: PublishPipelineArtifact@1 - displayName: 'Publish artifact for analysis' - inputs: - targetPath: '$(outputFolder)' - artifact: 'IW4MAdmin.$(buildConfiguration)' - publishLocation: 'pipeline' + + - task: CmdLine@2 + displayName: 'Convert Linux start script line endings' + inputs: + script: | + echo changing to encoding for linux start script + dos2unix $(outputFolder)\StartIW4MAdmin.sh + dos2unix $(outputFolder)\UpdateIW4MAdmin.sh + echo creating website version filename + @echo IW4MAdmin-$(Build.BuildNumber) > $(Build.ArtifactStagingDirectory)\version_$(releaseType).txt + workingDirectory: '$(Build.Repository.LocalPath)\Application\BuildScripts' + + - task: CopyFiles@2 + displayName: 'Move script plugins into publish directory' + inputs: + SourceFolder: '$(Build.Repository.LocalPath)\Plugins\ScriptPlugins' + Contents: '*.js' + TargetFolder: '$(outputFolder)\Plugins' + + - task: CopyFiles@2 + displayName: 'Move binary plugins into publish directory' + inputs: + SourceFolder: '$(Build.Repository.LocalPath)\BUILD\Plugins\' + Contents: '*.dll' + TargetFolder: '$(outputFolder)\Plugins' + + - task: CmdLine@2 + displayName: 'Move webfront resources into publish directory' + inputs: + script: 'xcopy /s /y /f wwwroot $(outputFolder)\wwwroot' + workingDirectory: '$(Build.Repository.LocalPath)\BUILD\Plugins' + failOnStderr: true + + - task: CmdLine@2 + displayName: 'Move gamescript files into publish directory' + inputs: + script: 'echo d | xcopy /s /y /f GameFiles $(outputFolder)\GameFiles' + workingDirectory: '$(Build.Repository.LocalPath)' + failOnStderr: true + + - task: ArchiveFiles@2 + displayName: 'Generate final zip file' + inputs: + rootFolderOrFile: '$(outputFolder)' + includeRootFolder: false + archiveType: 'zip' + archiveFile: '$(Build.ArtifactStagingDirectory)/IW4MAdmin-$(Build.BuildNumber).zip' + replaceExistingArchive: true + + - task: PublishPipelineArtifact@1 + inputs: + targetPath: '$(Build.ArtifactStagingDirectory)/IW4MAdmin-$(Build.BuildNumber).zip' + artifact: 'IW4MAdmin-$(Build.BuildNumber).zip' + + - task: PublishPipelineArtifact@1 + displayName: 'Publish artifact for analysis' + inputs: + targetPath: '$(outputFolder)' + artifact: 'IW4MAdmin.$(buildConfiguration)' + publishLocation: 'pipeline' - - job: Publish - dependsOn: Artifact - condition: and(succeeded(), ne(variables['Build.SourceBranch'], 'refs/heads/develop')) - steps: - task: FtpUpload@2 + condition: ne(variables['Build.SourceBranch'], 'refs/heads/develop') displayName: 'Upload zip file to website' inputs: credentialsOption: 'inputs' @@ -207,6 +198,7 @@ jobs: trustSSL: false - task: FtpUpload@2 + condition: ne(variables['Build.SourceBranch'], 'refs/heads/develop') displayName: 'Upload version info to website' inputs: credentialsOption: 'inputs' @@ -222,6 +214,7 @@ jobs: trustSSL: false - task: GitHubRelease@1 + condition: ne(variables['Build.SourceBranch'], 'refs/heads/develop') displayName: 'Make GitHub release' inputs: gitHubConnection: 'github.com_RaidMax' @@ -239,6 +232,7 @@ jobs: changeLogType: 'commitBased' - task: PowerShell@2 + condition: ne(variables['Build.SourceBranch'], 'refs/heads/develop') displayName: 'Update master version' inputs: targetType: 'inline'