118 lines
3.8 KiB
YAML
118 lines
3.8 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 6.0.2 --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: MacBuild
|
|
displayName: Mac Build
|
|
strategy:
|
|
matrix:
|
|
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
|
|
condition: eq(variables['B_BUILD_TYPE'], 'Release')
|
|
inputs:
|
|
pathtoPublish: build/bundle
|
|
artifactName: Mac Release Disk Image and App $(imageName)
|