variables: coverage: false trigger: ['main', '3.10', '3.9', '3.8', '3.7'] jobs: - job: Prebuild displayName: Pre-build checks pool: vmImage: ubuntu-20.04 steps: - template: ./prebuild-checks.yml - job: Docs_PR displayName: Docs PR dependsOn: Prebuild condition: and(succeeded(), eq(dependencies.Prebuild.outputs['docs.run'], 'true')) pool: vmImage: ubuntu-20.04 steps: - template: ./docs-steps.yml parameters: upload: true - job: macOS_CI_Tests displayName: macOS CI Tests dependsOn: Prebuild #condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true')) # bpo-39837: macOS tests on Azure Pipelines are disabled condition: false variables: testRunTitle: '$(build.sourceBranchName)-macos' testRunPlatform: macos pool: vmImage: macos-10.15 steps: - template: ./macos-steps.yml - job: Ubuntu_CI_Tests displayName: Ubuntu CI Tests dependsOn: Prebuild condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true')) pool: vmImage: ubuntu-20.04 variables: testRunTitle: '$(build.sourceBranchName)-linux' testRunPlatform: linux openssl_version: 1.1.1m steps: - template: ./posix-steps.yml parameters: dependencies: apt - job: Ubuntu_Coverage_CI_Tests displayName: Ubuntu CI Tests (coverage) dependsOn: Prebuild condition: | and( and( succeeded(), eq(variables['coverage'], 'true') ), eq(dependencies.Prebuild.outputs['tests.run'], 'true') ) pool: vmImage: ubuntu-20.04 variables: testRunTitle: '$(Build.SourceBranchName)-linux-coverage' testRunPlatform: linux-coverage openssl_version: 1.1.1m steps: - template: ./posix-steps.yml parameters: dependencies: apt coverage: true - job: Windows_CI_Tests displayName: Windows CI Tests dependsOn: Prebuild condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true')) pool: vmImage: windows-2022 strategy: matrix: win32: arch: win32 buildOpt: '-p Win32' testRunTitle: '$(Build.SourceBranchName)-win32' testRunPlatform: win32 win64: arch: amd64 buildOpt: '-p x64' testRunTitle: '$(Build.SourceBranchName)-win64' testRunPlatform: win64 maxParallel: 4 steps: - template: ./windows-steps.yml - template: ./windows-layout-steps.yml parameters: kind: nuget - template: ./windows-layout-steps.yml parameters: kind: embed - template: ./windows-layout-steps.yml parameters: kind: appx fulltest: true