diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d04d24a..120c06b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,11 +6,11 @@ trigger: branches: include: - # Build all branches starting with 'ms-' This is useful when making and testing chanes made to this file - - ms-* + # Build all branches starting with 'ms-' This is useful when making and testing chanes made to this file + - ms-* tags: include: - - '*' + - "*" # pr: # - '*' variables: @@ -27,139 +27,138 @@ variables: # https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#sep-github xpcGitHubConnection: XPC-Azure - stages: - stage: Build jobs: - - job: macOS - pool: - vmImage: 'macos-latest' + - job: macOS + pool: + vmImage: "macos-latest" - steps: - - task: Xcode@5 - inputs: - actions: 'build' - scheme: '' - sdk: 'macosx10.14' - configuration: 'Release' - xcWorkspacePath: 'xpcPlugin/xpcPlugin.xcodeproj' - xcodeVersion: 'default' # Options: 8, 9, 10, default, specifyPath - - task: PublishPipelineArtifact@0 - inputs: - artifactName: '$(xpcArtifactNameMac)' - targetPath: '$(xpcBuildOutputPath)' + steps: + - task: Xcode@5 + inputs: + actions: "build" + scheme: "" + sdk: "macosx10.15" + configuration: "Release" + xcWorkspacePath: "xpcPlugin/xpcPlugin.xcodeproj" + xcodeVersion: "default" # Options: 8, 9, 10, default, specifyPath + - task: PublishPipelineArtifact@0 + inputs: + artifactName: "$(xpcArtifactNameMac)" + targetPath: "$(xpcBuildOutputPath)" - - job: Linux - pool: - vmImage: 'ubuntu-latest' + - job: Linux + pool: + vmImage: "ubuntu-latest" - steps: - - script: | - sudo add-apt-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install -y g++-5 mesa-common-dev g++-multilib g++-5-multilib - displayName: 'apt install' + steps: + - script: | + sudo add-apt-repository ppa:ubuntu-toolchain-r/test + sudo apt-get update + sudo apt-get install -y g++-5 mesa-common-dev g++-multilib g++-5-multilib + displayName: "apt install" - - script: | - cd xpcPlugin - cmake . - make - displayName: 'make' + - script: | + cd xpcPlugin + cmake . + make + displayName: "make" - - task: PublishPipelineArtifact@0 - inputs: - artifactName: 'xpc-linux' - targetPath: '$(xpcBuildOutputPath)' + - task: PublishPipelineArtifact@0 + inputs: + artifactName: "xpc-linux" + targetPath: "$(xpcBuildOutputPath)" - - job: Windows - pool: - vmImage: 'vs2017-win2016' + - job: Windows + pool: + vmImage: "vs2017-win2016" - variables: - solution: 'xpcPlugin/xpcPlugin/xpcPlugin.sln' - buildPlatform: 'Win32|x64' - buildConfiguration: 'Release' - appxPackageDir: '$(build.artifactStagingDirectory)\AppxPackages\\' + variables: + solution: "xpcPlugin/xpcPlugin/xpcPlugin.sln" + buildPlatform: "Win32|x64" + buildConfiguration: "Release" + appxPackageDir: '$(build.artifactStagingDirectory)\AppxPackages\\' - steps: - - task: NuGetToolInstaller@0 + steps: + - task: NuGetToolInstaller@0 - - task: NuGetCommand@2 - inputs: - restoreSolution: '$(solution)' + - task: NuGetCommand@2 + inputs: + restoreSolution: "$(solution)" - - task: VSBuild@1 - inputs: - platform: 'Win32' - solution: '$(solution)' - configuration: '$(buildConfiguration)' - msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload' + - task: VSBuild@1 + inputs: + platform: "Win32" + solution: "$(solution)" + configuration: "$(buildConfiguration)" + msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload' - - task: VSBuild@1 - inputs: - platform: 'x64' - solution: '$(solution)' - configuration: '$(buildConfiguration)' - msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload' + - task: VSBuild@1 + inputs: + platform: "x64" + solution: "$(solution)" + configuration: "$(buildConfiguration)" + msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload' - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - rm $(xpcBuildOutputPath)/win.exp - rm $(xpcBuildOutputPath)/win.lib - rm $(xpcBuildOutputPath)/64/win.exp - rm $(xpcBuildOutputPath)/64/win.lib + - task: Bash@3 + inputs: + targetType: "inline" + script: | + rm $(xpcBuildOutputPath)/win.exp + rm $(xpcBuildOutputPath)/win.lib + rm $(xpcBuildOutputPath)/64/win.exp + rm $(xpcBuildOutputPath)/64/win.lib - - task: PublishPipelineArtifact@0 - inputs: - artifactName: '$(xpcArtifactNameWindows)' - targetPath: '$(xpcBuildOutputPath)' + - task: PublishPipelineArtifact@0 + inputs: + artifactName: "$(xpcArtifactNameWindows)" + targetPath: "$(xpcBuildOutputPath)" - stage: Deploy jobs: - - job: Package_Binaries - displayName: 'Package Binaries' - pool: - vmImage: 'ubuntu-latest' + - job: Package_Binaries + displayName: "Package Binaries" + pool: + vmImage: "ubuntu-latest" - steps: - - task: DownloadPipelineArtifact@0 - inputs: - artifactName: '$(xpcArtifactNameMac)' - targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName) - - task: DownloadPipelineArtifact@0 - inputs: - artifactName: '$(xpcArtifactNameLinux)' - targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName) + steps: + - task: DownloadPipelineArtifact@0 + inputs: + artifactName: "$(xpcArtifactNameMac)" + targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName) + - task: DownloadPipelineArtifact@0 + inputs: + artifactName: "$(xpcArtifactNameLinux)" + targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName) - - task: DownloadPipelineArtifact@0 - inputs: - artifactName: '$(xpcArtifactNameWindows)' - targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName) + - task: DownloadPipelineArtifact@0 + inputs: + artifactName: "$(xpcArtifactNameWindows)" + targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName) - - task: PublishPipelineArtifact@0 - inputs: - artifactName: '$(xpcPackageName)' - targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName) + - task: PublishPipelineArtifact@0 + inputs: + artifactName: "$(xpcPackageName)" + targetPath: $(System.DefaultWorkingDirectory)/$(xpcPackageName) - # Archive Files - - task: ArchiveFiles@2 - inputs: - rootFolderOrFile: '$(System.DefaultWorkingDirectory)/$(xpcPackageName)' - includeRootFolder: true - archiveType: 'zip' - archiveFile: '$(Build.ArtifactStagingDirectory)/$(xpcPackageName).zip' + # Archive Files + - task: ArchiveFiles@2 + inputs: + rootFolderOrFile: "$(System.DefaultWorkingDirectory)/$(xpcPackageName)" + includeRootFolder: true + archiveType: "zip" + archiveFile: "$(Build.ArtifactStagingDirectory)/$(xpcPackageName).zip" - # Uploads the .zip to GitHub and creates a new "Release" with the commit tag - # This tasks runs only on pushed tags - - task: GitHubRelease@0 - inputs: - gitHubConnection: '$(xpcGitHubConnection)' - repositoryName: '$(Build.Repository.Name)' - action: 'create' - target: '$(Build.SourceVersion)' - tagSource: 'auto' - tag: $(tagName) - assets: '$(Build.ArtifactStagingDirectory)/$(xpcPackageName).zip' - isPreRelease: true + # Uploads the .zip to GitHub and creates a new "Release" with the commit tag + # This tasks runs only on pushed tags + - task: GitHubRelease@0 + inputs: + gitHubConnection: "$(xpcGitHubConnection)" + repositoryName: "$(Build.Repository.Name)" + action: "create" + target: "$(Build.SourceVersion)" + tagSource: "auto" + tag: $(tagName) + assets: "$(Build.ArtifactStagingDirectory)/$(xpcPackageName).zip" + isPreRelease: true