diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e4c3e3efe..0f35be403 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -12,7 +12,23 @@ variables: RESTREAM-HASH: $(restream_hash) jobs: +- job: Prebuild + pool: + vmImage: 'ubuntu-16.04' + steps: + - bash: | + if curl -s "https://api.github.com/repos/$BUILD_REPOSITORY_ID/issues/$SYSTEM_PULLREQUEST_PULLREQUESTNUMBER/labels" | grep '"name": "Seeking Testers"' + then + echo "##vso[task.setvariable variable=prHasCILabel;isOutput=true]true" + fi + displayName: 'Check if PR should keep artifacts' + condition: eq(variables['Build.Reason'], 'PullRequest') + name: checkPrLabel + - job: 'Build_macOS' + dependsOn: Prebuild + variables: + prHasCILabel: $[ dependencies.Prebuild.outputs['checkPrLabel.prHasCILabel'] ] pool: vmImage: 'macos-10.13' steps: @@ -31,16 +47,19 @@ jobs: displayName: 'Build' - script: ./CI/before-deploy-osx.sh - condition: ne(variables['Build.Reason'], 'PullRequest') + condition: or(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['prHasCILabel'], true)) displayName: 'Before Deploy' - task: PublishBuildArtifacts@1 - condition: ne(variables['Build.Reason'], 'PullRequest') + condition: or(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['prHasCILabel'], true)) inputs: pathtoPublish: './nightly' artifactName: build - job: 'Build_Windows32' + dependsOn: Prebuild + variables: + prHasCILabel: $[ dependencies.Prebuild.outputs['checkPrLabel.prHasCILabel'] ] pool: vmImage: 'vs2017-win2016' steps: @@ -56,15 +75,18 @@ jobs: msbuildArguments: '/m /p:Configuration=RelWithDebInfo' solution: .\build32\obs-studio.sln - script: ./CI/before-deploy-win.cmd - condition: ne(variables['Build.Reason'], 'PullRequest') + condition: or(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['prHasCILabel'], true)) displayName: 'Before deploy' - task: PublishBuildArtifacts@1 - condition: ne(variables['Build.Reason'], 'PullRequest') + condition: or(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['prHasCILabel'], true)) inputs: pathtoPublish: './build' artifactName: winbuild - job: 'Build_Windows64' + dependsOn: Prebuild + variables: + prHasCILabel: $[ dependencies.Prebuild.outputs['checkPrLabel.prHasCILabel'] ] pool: vmImage: 'vs2017-win2016' steps: @@ -80,15 +102,18 @@ jobs: msbuildArguments: '/m /p:Configuration=RelWithDebInfo' solution: .\build64\obs-studio.sln - script: ./CI/before-deploy-win.cmd - condition: ne(variables['Build.Reason'], 'PullRequest') + condition: or(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['prHasCILabel'], true)) displayName: 'Before deploy' - task: PublishBuildArtifacts@1 - condition: ne(variables['Build.Reason'], 'PullRequest') + condition: or(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['prHasCILabel'], true)) inputs: pathtoPublish: './build' artifactName: winbuild - job: 'Build_Linux' + dependsOn: Prebuild + variables: + prHasCILabel: $[ dependencies.Prebuild.outputs['checkPrLabel.prHasCILabel'] ] pool: vmImage: 'ubuntu-16.04' steps: