mirror of
https://github.com/qpdf/qpdf.git
synced 2025-01-03 15:17:29 +00:00
07da0039d3
For wildcard expansion to work properly with the msvc binary, it is necessary to link with setargv.obj or wsetargv.obj, depending on whether wmain is in use.
136 lines
3.8 KiB
YAML
136 lines
3.8 KiB
YAML
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'
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: '$(System.DefaultWorkingDirectory)/distribution'
|
|
artifactName: distribution
|
|
displayName: 'Upload source distribution'
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunTitle: Linux
|
|
buildPlatform: Linux
|
|
- job: Windows
|
|
pool:
|
|
# If updating this, see note in TODO about MSVC wildcard expansion.
|
|
vmImage: windows-2019
|
|
strategy:
|
|
matrix:
|
|
msvc32:
|
|
wordsize: 32
|
|
tool: msvc
|
|
msvc64:
|
|
wordsize: 64
|
|
tool: msvc
|
|
mingw32:
|
|
wordsize: 32
|
|
tool: mingw
|
|
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)
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
|
- script: azure-pipelines/build-windows.bat $(wordsize) $(tool)
|
|
displayName: 'Build, test, generate binary distributions'
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: '$(System.DefaultWorkingDirectory)/distribution'
|
|
artifactName: distribution
|
|
displayName: 'Upload binary distributions'
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunTitle: Windows-$(wordsize)$(tool)
|
|
buildPlatform: Windows-$(wordsize)$(tool)
|
|
dependsOn: Linux
|
|
condition: succeeded()
|
|
- job: macOS
|
|
pool:
|
|
vmImage: macOS-10.13
|
|
steps:
|
|
- task: DownloadBuildArtifacts@0
|
|
displayName: 'Download distribution files'
|
|
inputs:
|
|
artifactName: distfiles
|
|
downloadPath: $(System.DefaultWorkingDirectory)
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
|
- script: azure-pipelines/build-mac
|
|
displayName: 'Mac build and test'
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunTitle: MacOS
|
|
buildPlatform: MacOS
|
|
dependsOn: Linux
|
|
condition: succeeded()
|
|
- 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')
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunTitle: AppImage
|
|
buildPlatform: AppImage
|
|
dependsOn: Linux
|
|
condition: succeeded()
|
|
- 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()
|
|
- job: Fuzzers
|
|
pool:
|
|
vmImage: ubuntu-16.04
|
|
steps:
|
|
- script: azure-pipelines/build-fuzzer
|
|
displayName: 'Build Fuzzer'
|
|
dependsOn: Linux
|
|
condition: succeeded()
|
|
- 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()
|