135 lines
4.1 KiB
YAML
135 lines
4.1 KiB
YAML
# 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-18.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.15'
|
|
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: |
|
|
set -e
|
|
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: 'windows-2019'
|
|
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: 'windows-2019'
|
|
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-18.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: |
|
|
set -e
|
|
cd ./build
|
|
make -j4
|
|
cd -
|
|
displayName: 'Build'
|
|
|