parameters: jobTemplate: '' buildConfig: '' platforms: - Linux_arm - Linux_arm64 - Linux_musl_x64 - Linux_musl_arm64 - Linux_rhel6_x64 - Linux_x64 - OSX_x64 - Windows_NT_x64 - Windows_NT_x86 - Windows_NT_arm - Windows_NT_arm64 jobParameters: {} jobs: # TODO: simplify osIdentifier by adding osGroup and osSubGroup. See # https://github.com/Microsoft/azure-pipelines-yaml/pull/46 for more information - ${{ each platform in parameters.platforms }}: # Linux arm - ${{ if eq(platform, 'Linux_arm') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: arm osGroup: Linux osIdentifier: Linux containerName: ubuntu_1404_arm_cross_build_image helixQueues: # Ubuntu.1404.Arm32.Open is used only by CI while Ubuntu.1604.Arm32.Open serves PRs and scheduled builds. - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}: - Ubuntu.1404.Arm32.Open - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}: - (Ubuntu.1804.Arm32.Open)Ubuntu.1604.Arm32.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-0a0ebdd-20190312215532 - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - (Debian.9.Arm32)Ubuntu.1604.Arm32@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm32v7-0a0ebdd-20190312215452 - (Ubuntu.1604.Arm32)Ubuntu.1604.Arm32@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-helix-arm32v7-0a0ebdd-20190312215551 - (Ubuntu.1804.Arm32)Ubuntu.1604.Arm32@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-0a0ebdd-20190312215532 crossrootfsDir: '/crossrootfs/arm' ${{ insert }}: ${{ parameters.jobParameters }} # Linux arm64 - ${{ if eq(platform, 'Linux_arm64') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: arm64 osGroup: Linux osIdentifier: Linux containerName: ubuntu_1604_arm64_cross_build_image helixQueues: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - (Ubuntu.1804.Arm64.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351 - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}: - (Debian.9.Arm64.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-0a0ebdd-20190312215438 - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - (Debian.9.Arm64)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-0a0ebdd-20190312215438 - (Ubuntu.1804.Arm64)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351 crossrootfsDir: '/crossrootfs/arm64' ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl x64 - ${{ if eq(platform, 'Linux_musl_x64') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: Linux osIdentifier: Linux_musl containerName: musl_x64_build_image helixQueues: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - (Alpine.38.Amd64.Open)Ubuntu.1604.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-45b1fa2-20190327215821 - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - Alpine.36.Amd64 - Alpine.38.Amd64 ${{ insert }}: ${{ parameters.jobParameters }} # Linux musl arm64 - ${{ if eq(platform, 'Linux_musl_arm64') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: arm64 osGroup: Linux osIdentifier: Linux_musl containerName: musl_arm64_build_image helixQueues: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - (Alpine.38.Arm64.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-arm64v8-46e69dd-20190313223330 - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - (Alpine.38.Arm64)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-arm64v8-46e69dd-20190313223330 crossrootfsDir: '/crossrootfs/arm64' ${{ insert }}: ${{ parameters.jobParameters }} # Linux rhel6 x64 - ${{ if eq(platform, 'Linux_rhel6_x64') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: Linux osIdentifier: Linux_rhel6 containerName: centos6_x64_build_image helixQueues: # TODO: enable RedHat.6.Amd64.Open once https://github.com/dotnet/coreclr/issues/23580 is resolved - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - RedHat.6.Amd64 ${{ insert }}: ${{ parameters.jobParameters }} # Linux x64 - ${{ if eq(platform, 'Linux_x64') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: Linux osIdentifier: Linux containerName: centos7_x64_build_image helixQueues: - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}: - Ubuntu.1804.Amd64.Open - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}: - Debian.9.Amd64.Open - Ubuntu.1604.Amd64.Open - Ubuntu.1804.Amd64.Open - Centos.7.Amd64.Open - RedHat.7.Amd64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - Debian.9.Amd64 - Ubuntu.1604.Amd64 - Ubuntu.1804.Amd64 - Centos.7.Amd64 - (Fedora.28.Amd64)Ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-28-helix-45b1fa2-20190327215722 - RedHat.7.Amd64 ${{ insert }}: ${{ parameters.jobParameters }} # FreeBSD # FreeBSD machines are currenrly offline. Re-enable in the official build when # the machines are healthy. # - template: ${{ parameters.jobTemplate }} # parameters: # buildConfig: ${{ parameters.buildConfig }} # archType: x64 # osGroup: FreeBSD # osIdentifier: FreeBSD # # There are no FreeBSD helix queues, so we don't run tests at the moment. # helixQueues: # asString: '' # asArray: [] # ${{ insert }}: ${{ parameters.jobParameters }} # macOS x64 - ${{ if eq(platform, 'OSX_x64') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: OSX osIdentifier: OSX helixQueues: - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}: - OSX.1013.Amd64.Open - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}: - OSX.1012.Amd64.Open - OSX.1013.Amd64.Open - OSX.1014.Amd64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - OSX.1012.Amd64 - OSX.1013.Amd64 - OSX.1014.Amd64 ${{ insert }}: ${{ parameters.jobParameters }} # Windows x64 - ${{ if eq(platform, 'Windows_NT_x64') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: Windows_NT osIdentifier: Windows_NT helixQueues: - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}: - Windows.10.Amd64.Open - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}: # TODO: add Windows.10.Nano.Amd64.Open once https://github.com/dotnet/coreclr/issues/21693 has been resolved - Windows.7.Amd64.Open - Windows.81.Amd64.Open - Windows.10.Amd64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - Windows.7.Amd64 - Windows.81.Amd64 - Windows.10.Amd64 - Windows.10.Amd64.Core - Windows.10.Nano.Amd64 ${{ insert }}: ${{ parameters.jobParameters }} # Windows x86 - ${{ if eq(platform, 'Windows_NT_x86') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: x86 osGroup: Windows_NT osIdentifier: Windows_NT helixQueues: - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}: - Windows.10.Amd64.Open - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}: - Windows.7.Amd64.Open - Windows.81.Amd64.Open - Windows.10.Amd64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - Windows.7.Amd64 - Windows.81.Amd64 - Windows.10.Amd64 - Windows.10.Amd64.Core ${{ insert }}: ${{ parameters.jobParameters }} # Windows arm - ${{ if eq(platform, 'Windows_NT_arm') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: arm osGroup: Windows_NT osIdentifier: Windows_NT helixQueues: # TODO: Due to the limited capacity of the machines in Windows.10.Arm64.Open queue limit this to CI builds and only to Windows_NT/arm - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}: - Windows.10.Arm64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - Windows.10.Arm64 ${{ insert }}: ${{ parameters.jobParameters }} # Windows arm64 - ${{ if eq(platform, 'Windows_NT_arm64') }}: - template: ${{ parameters.jobTemplate }} parameters: buildConfig: ${{ parameters.buildConfig }} archType: arm64 osGroup: Windows_NT osIdentifier: Windows_NT helixQueues: # TODO: Consider adding Windows.10.Arm64.Open here if capacity is enough for handling both Windows_NT/arm and Windows_NT/arm64 testing - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - Windows.10.Arm64 ${{ insert }}: ${{ parameters.jobParameters }}