2018-10-11 17:35:07 +00:00
|
|
|
jobs:
|
|
|
|
- job: Linux
|
|
|
|
pool:
|
|
|
|
vmImage: ubuntu-16.04
|
|
|
|
steps:
|
|
|
|
- script: azure-pipelines/build-linux
|
|
|
|
displayName: 'Generate, build, and test'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
inputs:
|
|
|
|
pathtoPublish: '$(System.DefaultWorkingDirectory)/distfiles.zip'
|
|
|
|
artifactName: distfiles
|
|
|
|
displayName: 'Upload extra distribution files'
|
2018-10-11 21:02:34 +00:00
|
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
2018-10-13 15:59:05 +00:00
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
inputs:
|
|
|
|
pathtoPublish: '$(System.DefaultWorkingDirectory)/distribution'
|
|
|
|
artifactName: distribution
|
|
|
|
displayName: 'Upload source distribution'
|
|
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
2018-10-13 19:51:22 +00:00
|
|
|
- task: PublishTestResults@2
|
|
|
|
inputs:
|
|
|
|
testRunTitle: Linux
|
|
|
|
buildPlatform: Linux
|
2018-10-11 17:35:07 +00:00
|
|
|
- job: Windows
|
|
|
|
pool:
|
2019-11-09 20:01:15 +00:00
|
|
|
# If updating this, see note in TODO about MSVC wildcard expansion.
|
2019-08-30 03:03:09 +00:00
|
|
|
vmImage: windows-2019
|
2018-10-11 17:35:07 +00:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
msvc32:
|
|
|
|
wordsize: 32
|
|
|
|
tool: msvc
|
|
|
|
msvc64:
|
|
|
|
wordsize: 64
|
|
|
|
tool: msvc
|
2018-10-18 16:06:01 +00:00
|
|
|
mingw32:
|
|
|
|
wordsize: 32
|
|
|
|
tool: mingw
|
2018-10-11 17:35:07 +00:00
|
|
|
mingw64:
|
|
|
|
wordsize: 64
|
|
|
|
tool: mingw
|
|
|
|
maxParallel: 4
|
|
|
|
steps:
|
|
|
|
- bash: git config --global core.autocrlf input
|
|
|
|
displayName: 'Disable git autocrlf'
|
|
|
|
- checkout: self
|
|
|
|
displayName: 'Get sources'
|
|
|
|
- task: DownloadBuildArtifacts@0
|
|
|
|
displayName: 'Download distribution files'
|
|
|
|
inputs:
|
|
|
|
artifactName: distfiles
|
|
|
|
downloadPath: $(System.DefaultWorkingDirectory)
|
2018-10-11 21:02:34 +00:00
|
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
2018-10-11 17:35:07 +00:00
|
|
|
- script: azure-pipelines/build-windows.bat $(wordsize) $(tool)
|
|
|
|
displayName: 'Build, test, generate binary distributions'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
inputs:
|
2018-10-12 12:10:08 +00:00
|
|
|
pathtoPublish: '$(System.DefaultWorkingDirectory)/distribution'
|
|
|
|
artifactName: distribution
|
2018-10-11 17:35:07 +00:00
|
|
|
displayName: 'Upload binary distributions'
|
2018-10-11 21:02:34 +00:00
|
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
2018-10-13 19:51:22 +00:00
|
|
|
- task: PublishTestResults@2
|
|
|
|
inputs:
|
|
|
|
testRunTitle: Windows-$(wordsize)$(tool)
|
|
|
|
buildPlatform: Windows-$(wordsize)$(tool)
|
2018-10-11 17:35:07 +00:00
|
|
|
dependsOn: Linux
|
|
|
|
condition: succeeded()
|
|
|
|
- job: macOS
|
|
|
|
pool:
|
2020-01-24 18:54:10 +00:00
|
|
|
vmImage: macOS-10.14
|
2018-10-11 17:35:07 +00:00
|
|
|
steps:
|
|
|
|
- task: DownloadBuildArtifacts@0
|
|
|
|
displayName: 'Download distribution files'
|
|
|
|
inputs:
|
|
|
|
artifactName: distfiles
|
|
|
|
downloadPath: $(System.DefaultWorkingDirectory)
|
2018-10-11 21:02:34 +00:00
|
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
2018-10-11 17:35:07 +00:00
|
|
|
- script: azure-pipelines/build-mac
|
|
|
|
displayName: 'Mac build and test'
|
2018-10-13 19:51:22 +00:00
|
|
|
- task: PublishTestResults@2
|
|
|
|
inputs:
|
|
|
|
testRunTitle: MacOS
|
|
|
|
buildPlatform: MacOS
|
2018-10-11 17:35:07 +00:00
|
|
|
dependsOn: Linux
|
|
|
|
condition: succeeded()
|
2018-10-13 16:07:16 +00:00
|
|
|
- job: AppImage
|
|
|
|
pool:
|
|
|
|
vmImage: ubuntu-16.04
|
|
|
|
steps:
|
|
|
|
- script: azure-pipelines/build-appimage
|
|
|
|
displayName: 'Build AppImage'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
inputs:
|
|
|
|
pathtoPublish: '$(System.DefaultWorkingDirectory)/distribution'
|
|
|
|
artifactName: distribution
|
|
|
|
displayName: 'Upload AppImage'
|
|
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
2018-10-15 18:13:52 +00:00
|
|
|
- task: PublishTestResults@2
|
|
|
|
inputs:
|
|
|
|
testRunTitle: AppImage
|
|
|
|
buildPlatform: AppImage
|
2018-10-13 16:07:16 +00:00
|
|
|
dependsOn: Linux
|
|
|
|
condition: succeeded()
|
2019-06-21 11:53:05 +00:00
|
|
|
- job: Linux32
|
|
|
|
pool:
|
|
|
|
vmImage: ubuntu-16.04
|
|
|
|
steps:
|
|
|
|
- script: azure-pipelines/build-linux32
|
|
|
|
displayName: 'Linux 32-bit'
|
|
|
|
- task: PublishTestResults@2
|
|
|
|
inputs:
|
|
|
|
testRunTitle: Linux32
|
|
|
|
buildPlatform: Linux32
|
|
|
|
dependsOn: Linux
|
|
|
|
condition: succeeded()
|
2019-06-13 13:28:38 +00:00
|
|
|
- job: Fuzzers
|
|
|
|
pool:
|
|
|
|
vmImage: ubuntu-16.04
|
|
|
|
steps:
|
|
|
|
- script: azure-pipelines/build-fuzzer
|
|
|
|
displayName: 'Build Fuzzer'
|
|
|
|
dependsOn: Linux
|
|
|
|
condition: succeeded()
|
2019-06-15 19:34:29 +00:00
|
|
|
- job: Sanitizers
|
|
|
|
pool:
|
|
|
|
vmImage: ubuntu-16.04
|
|
|
|
steps:
|
|
|
|
- script: azure-pipelines/test-sanitizers
|
|
|
|
displayName: 'Sanitizer Tests'
|
|
|
|
- task: PublishTestResults@2
|
|
|
|
inputs:
|
|
|
|
testRunTitle: Sanitizers
|
|
|
|
buildPlatform: Sanitizers
|
|
|
|
dependsOn: Linux
|
|
|
|
condition: succeeded()
|