mirror of
https://github.com/debauchee/barrier.git
synced 2026-05-21 06:45:22 -06:00
This commit merges the macOSRelease job into one unified Mac build job. Using Azure Pipelines conditionals (AND), we check for the build type being an release, and the build agent being Big Sur. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
129 lines
4.3 KiB
YAML
129 lines
4.3 KiB
YAML
trigger:
|
|
tags:
|
|
include:
|
|
- '*'
|
|
branches:
|
|
include:
|
|
- '*'
|
|
|
|
jobs:
|
|
- job: WinBuild
|
|
displayName: Windows Build
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
strategy:
|
|
matrix:
|
|
Debug:
|
|
CI_ENV_BUILD_TYPE: Debug
|
|
Release with Release Installer:
|
|
CI_ENV_BUILD_TYPE: Release
|
|
steps:
|
|
# Gather Dependencies
|
|
- task: PowerShell@2
|
|
displayName: Download Bonjour SDK-like
|
|
inputs:
|
|
filePath: azure-pipelines/download_install_bonjour_sdk_like.ps1
|
|
- task: UsePythonVersion@0
|
|
displayName: Selecting Python Installer for QLI Installer
|
|
inputs:
|
|
versionSpec: '3.7'
|
|
- task: PowerShell@2
|
|
displayName: Installing QT
|
|
condition: ne(variables['CacheRestored'], 'true')
|
|
inputs:
|
|
filePath: azure-pipelines/download_install_qt.ps1
|
|
# Build time!
|
|
- powershell: Copy-Item azure-pipelines\build_env_tmpl.bat build_env.bat
|
|
displayName: Layering Azure Pipeline's build_env.bat
|
|
- script: |
|
|
call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\Tools\\vsdevcmd" -arch=x64 && clean_build.bat
|
|
displayName: Clean Build
|
|
- task: ArchiveFiles@2
|
|
displayName: Archive Completed Build Directory
|
|
inputs:
|
|
rootFolderOrFile: build\bin\$(CI_ENV_BUILD_TYPE)\
|
|
includeRootFolder: true
|
|
archiveFile: $(Build.ArtifactStagingDirectory)\$(CI_ENV_BUILD_TYPE).zip
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: Publish Completed Build Directory Archive Build Artifact
|
|
inputs:
|
|
pathtoPublish: $(Build.ArtifactStagingDirectory)\$(CI_ENV_BUILD_TYPE).zip
|
|
artifactName: Windows $(CI_ENV_BUILD_TYPE)
|
|
- script: choco install innosetup --version 5.6.1.20190126 --allow-downgrade
|
|
displayName: Ensure desired version of Inno Setup is installed.
|
|
condition: eq(variables['CI_ENV_BUILD_TYPE'], 'Release')
|
|
- script: build_installer.bat
|
|
displayName: Build Installer
|
|
condition: eq(variables['CI_ENV_BUILD_TYPE'], 'Release')
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: Publish Release Installer
|
|
condition: eq(variables['CI_ENV_BUILD_TYPE'], 'Release')
|
|
inputs:
|
|
pathtoPublish: build\installer-inno\bin
|
|
artifactName: Windows Release Installer
|
|
|
|
- job: LinuxBuild
|
|
strategy:
|
|
matrix:
|
|
ubuntu-18.04:
|
|
imageName: 'ubuntu-18.04'
|
|
ubuntu-20.04:
|
|
imageName: 'ubuntu-20.04'
|
|
displayName: Linux Build
|
|
pool:
|
|
vmImage: $(imageName)
|
|
steps:
|
|
- script: sudo apt-get update -y
|
|
- script: sudo apt-get install -y libxtst-dev qtdeclarative5-dev libavahi-compat-libdnssd-dev libcurl4-openssl-dev
|
|
displayName: Install Dependencies
|
|
- script: sh -x ./clean_build.sh
|
|
displayName: Clean Build
|
|
|
|
- job: macOStests
|
|
displayName: macOS Tests
|
|
strategy:
|
|
matrix:
|
|
big-sur-Debug:
|
|
imageName: "macOS-11"
|
|
B_BUILD_TYPE: Debug
|
|
BARRIER_VERSION_STAGE: Debug
|
|
catalina-Debug:
|
|
imageName: "macOS-10.15"
|
|
B_BUILD_TYPE: Debug
|
|
BARRIER_VERSION_STAGE: Debug
|
|
mojave-Debug:
|
|
imageName: "macOS-10.14"
|
|
B_BUILD_TYPE: Debug
|
|
BARRIER_VERSION_STAGE: Debug
|
|
big-sur-Release:
|
|
imageName: "macOS-11"
|
|
B_BUILD_TYPE: Release
|
|
BARRIER_VERSION_STAGE: Release
|
|
catalina-Release:
|
|
imageName: "macOS-10.15"
|
|
B_BUILD_TYPE: Release
|
|
BARRIER_VERSION_STAGE: Release
|
|
mojave-Release:
|
|
imageName: "macOS-10.14"
|
|
B_BUILD_TYPE: Release
|
|
BARRIER_VERSION_STAGE: Release
|
|
pool:
|
|
vmImage: $(imageName)
|
|
variables:
|
|
VERBOSE: 1
|
|
TERM: xterm-256color
|
|
steps:
|
|
- script: rm -rf /usr/local/opt/openssl
|
|
displayName: Remove incompatible OpenSSL 1.0.2t from macOS-10.14 vmImage
|
|
- script: brew reinstall openssl
|
|
displayName: Installed newer OpenSSL 1.1.x
|
|
- script: brew install pkg-config qt5
|
|
displayName: Install Qt5 and pkg-config prereqs
|
|
- script: sh -x ./clean_build.sh
|
|
displayName: Clean Build
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: Publish Release DMG if on Big Sur agent
|
|
condition: and(eq(variables['B_BUILD_TYPE'], 'Release'), eq(variables['imageName'], 'macOS-11'))
|
|
inputs:
|
|
pathtoPublish: build/bundle
|
|
artifactName: Universal Binary for macOS
|