@@ -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
|
||||
|
||||
Reference in New Issue
Block a user