aboutsummaryrefslogtreecommitdiffstats
path: root/azure-pipelines.yml
diff options
context:
space:
mode:
Diffstat (limited to 'azure-pipelines.yml')
-rw-r--r--azure-pipelines.yml94
1 files changed, 94 insertions, 0 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 0000000..cabe88f
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,94 @@
+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: 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
+ displayName: Linux Build
+ pool:
+ vmImage: 'ubuntu-16.04'
+ 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
+ pool:
+ vmImage: 'macOS-10.14'
+ strategy:
+ matrix:
+ Release:
+ B_BUILD_TYPE: Release
+ BARRIER_VERSION_STAGE: Release
+ steps:
+ - script: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/aac86fc018c48d7b6f23a2e7535276899774567a/Formula/qt.rb
+ displayName: Installed Pinned Qt
+ - script: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/aac86fc018c48d7b6f23a2e7535276899774567a/Formula/openssl.rb
+ displayName: Installed Pinned OpenSSL
+ - 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