# https://aka.ms/yaml variables: CMAKE_PREFIX_PATH: /usr/local/opt/qt5/lib/cmake CEF_BUILD_VERSION: 3770 CEF_VERSION: 75.1.16+g16a67c4+chromium-75.0.3770.100 TWITCH-CLIENTID: $(twitch_clientid) TWITCH-HASH: $(twitch_hash) MIXER-CLIENTID: $(mixer_clientid) MIXER-HASH: $(mixer_hash) RESTREAM-CLIENTID: $(restream_clientid) 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: - script: git submodule update --init --recursive displayName: 'Checkout Submodules' - script: ./CI/install-dependencies-osx.sh displayName: 'Install Dependencies' - script: ./CI/before-script-osx.sh displayName: 'Cmake' - bash: | cd ./build make -j4 cd - displayName: 'Build' - script: ./CI/before-deploy-osx.sh condition: or(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['prHasCILabel'], true)) displayName: 'Before Deploy' - task: PublishBuildArtifacts@1 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: - script: git submodule update --init --recursive displayName: 'Checkout Submodules' - script: ./CI/install-qt-win.cmd displayName: 'Install QT' - script: ./CI/install-script-win.cmd displayName: 'Download / Setup Deps / Run CMake' - task: MSBuild@1 displayName: 'Build 32-bit' inputs: msbuildArguments: '/m /p:Configuration=RelWithDebInfo' solution: .\build32\obs-studio.sln - script: ./CI/before-deploy-win.cmd condition: or(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['prHasCILabel'], true)) displayName: 'Before deploy' - task: PublishBuildArtifacts@1 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: - script: git submodule update --init --recursive displayName: 'Checkout Submodules' - script: ./CI/install-qt-win.cmd displayName: 'Install QT' - script: ./CI/install-script-win.cmd displayName: 'Download / Setup Deps / Run CMake' - task: MSBuild@1 displayName: 'Build 64-bit' inputs: msbuildArguments: '/m /p:Configuration=RelWithDebInfo' solution: .\build64\obs-studio.sln - script: ./CI/before-deploy-win.cmd condition: or(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['prHasCILabel'], true)) displayName: 'Before deploy' - task: PublishBuildArtifacts@1 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: - script: git submodule update --init --recursive displayName: 'Checkout Submodules' - script: ./CI/install-dependencies-linux.sh displayName: 'Install Dependencies' - script: ./CI/before-script-linux.sh displayName: 'CMake' - bash: | cd ./build make -j4 cd - displayName: 'Build'