-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Move platform-matrix to common and add an extra common layer for all jobs to define common variables #120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Move platform-matrix to common and add an extra common layer for all jobs to define common variables #120
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,321 @@ | ||
| parameters: | ||
| jobTemplate: '' | ||
| buildConfig: '' | ||
| platforms: [] | ||
| # platformGroup is a named collection of platforms. Allowed values: | ||
| # 'all' - all platforms | ||
| # 'gcstress' - platforms that support running under GCStress0x3 and GCStress0xC scenarios | ||
| platformGroup: '' | ||
| # helixQueueGroup is a named collection of Helix Queues. If specified, it determines which Helix queues are | ||
| # used, instead of the usual criteria. Allowed values: | ||
| # 'pr' - the queues used for a pull request for the platform. Typically a small set. | ||
| # 'ci' - the queues used for a CI (post-merge) test run. | ||
| # 'all' - the queues used for non-PR, non-CI test runs, e.g., Manual or Scheduled runs. Typically this is all available queues. | ||
| # 'corefx' - the queues used for a corefx test run. | ||
| helixQueueGroup: 'pr' | ||
| stagedBuild: false | ||
| # When set to false, suppresses reuse of OSX managed build artifacts (for pipelines without an OSX obj) | ||
| managedOsxBuild: true | ||
| jobParameters: {} | ||
|
|
||
| jobs: | ||
|
|
||
| # Linux arm | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Linux | ||
| archType: arm | ||
| container: | ||
| image: ubuntu-16.04-cross-14.04-23cacb0-20191023143847 | ||
| registry: mcr | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| managedTestBuildOsGroup: Linux | ||
| helixQueues: | ||
| - ${{ if eq(variables['System.TeamProject'], 'public') }}: | ||
| - (Ubuntu.1804.Arm32.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-30f6673-20190814153226 | ||
| - ${{ if eq(variables['System.TeamProject'], 'internal') }}: | ||
| - (Debian.9.Arm32)Ubuntu.1804.Armarch@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm32v7-74c9941-20190620155841 | ||
| - (Ubuntu.1804.Arm32)Ubuntu.1804.Armarch@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-30f6673-20190814153226 | ||
| crossrootfsDir: '/crossrootfs/arm' | ||
| ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # Linux arm64 | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'Linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Linux | ||
| archType: arm64 | ||
| container: | ||
| image: ubuntu-16.04-cross-arm64-cfdd435-20191023143847 | ||
| registry: mcr | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| managedTestBuildOsGroup: Linux | ||
| helixQueues: | ||
| - ${{ if eq(variables['System.TeamProject'], 'public') }}: | ||
| - (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-a45aeeb-20190620155855 | ||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}: | ||
| - (Debian.9.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-74c9941-20190620155840 | ||
safern marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - ${{ if eq(variables['System.TeamProject'], 'internal') }}: | ||
| - (Debian.9.Arm64)Ubuntu.1804.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-74c9941-20190620155840 | ||
| - (Ubuntu.1804.Arm64)Ubuntu.1804.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-a45aeeb-20190620155855 | ||
| crossrootfsDir: '/crossrootfs/arm64' | ||
| ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # Linux musl x64 | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Linux | ||
| osSubgroup: _musl | ||
| archType: x64 | ||
| container: | ||
| image: alpine-3.9-WithNode-0fc54a3-20190918214015 | ||
| registry: mcr | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| ${{ if ne(parameters.managedOsxBuild, true) }}: | ||
| managedTestBuildOsGroup: Linux | ||
| managedTestBuildOsSubgroup: _musl | ||
| ${{ if eq(parameters.managedOsxBuild, true) }}: | ||
| managedTestBuildOsGroup: OSX | ||
| helixQueues: | ||
| - ${{ if eq(variables['System.TeamProject'], 'public') }}: | ||
| - (Alpine.310.Amd64.Open)Ubuntu.1604.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.10-helix-3043688-20190918214010 | ||
| - ${{ if eq(variables['System.TeamProject'], 'internal') }}: | ||
| - (Alpine.38.Amd64)ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-09ca40b-20190508143246 | ||
| - (Alpine.39.Amd64)ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.9-helix-09ca40b-20190508143246 | ||
| - (Alpine.310.Amd64)ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.10-helix-3043688-20190918214010 | ||
safern marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # Linux musl arm64 | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Linux | ||
| osSubgroup: _musl | ||
| archType: arm64 | ||
| container: | ||
| image: ubuntu-16.04-cross-arm64-alpine-406629a-20191023143847 | ||
| registry: mcr | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| managedTestBuildOsGroup: Linux | ||
| helixQueues: | ||
| - ${{ if eq(variables['System.TeamProject'], 'public') }}: | ||
| - (Alpine.38.Arm64.Open)Ubuntu.1804.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-arm64v8-a45aeeb-20190620184035 | ||
| - ${{ if eq(variables['System.TeamProject'], 'internal') }}: | ||
| - (Alpine.38.Arm64)Ubuntu.1804.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-arm64v8-a45aeeb-20190620184035 | ||
| crossrootfsDir: '/crossrootfs/arm64' | ||
| ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # Linux rhel6 x64 | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'Linux_rhel6_x64'), eq(parameters.platformGroup, 'all')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Linux | ||
| osSubgroup: _rhel6 | ||
| archType: x64 | ||
| container: | ||
| image: centos-6-f39df28-20191023143802 | ||
| registry: mcr | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| ${{ if ne(parameters.managedOsxBuild, true) }}: | ||
| managedTestBuildOsGroup: Linux_rhel | ||
| ${{ if eq(parameters.managedOsxBuild, true) }}: | ||
| managedTestBuildOsGroup: OSX | ||
| helixQueues: | ||
| - ${{ if eq(variables['System.TeamProject'], 'public') }}: | ||
| - RedHat.6.Amd64.Open | ||
| - ${{ if eq(variables['System.TeamProject'], 'internal') }}: | ||
| - RedHat.6.Amd64 | ||
| ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # Linux x64 | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'Linux_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Linux | ||
| archType: x64 | ||
| container: | ||
| image: centos-7-f39df28-20191023143754 | ||
| registry: mcr | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| ${{ if ne(parameters.managedOsxBuild, true) }}: | ||
| managedTestBuildOsGroup: Linux | ||
| ${{ if eq(parameters.managedOsxBuild, true) }}: | ||
| managedTestBuildOsGroup: OSX | ||
| helixQueues: | ||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}: | ||
| - Ubuntu.1804.Amd64.Open | ||
safern marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}: | ||
| - 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-09ca40b-20190508143249 | ||
| - RedHat.7.Amd64 | ||
| ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # FreeBSD | ||
|
|
||
| # FreeBSD machines are currently offline. Re-enable in the official build when | ||
| # the machines are healthy. | ||
|
|
||
| # - template: xplat-setup.yml | ||
| # parameters: | ||
| # jobTemplate: ${{ parameters.jobTemplate }} | ||
| # osGroup: FreeBSD | ||
| # archType: x64 | ||
| # jobParameters: | ||
| # buildConfig: ${{ parameters.buildConfig }} | ||
| # # There are no FreeBSD helix queues, so we don't run tests at the moment. | ||
| # helixQueues: | ||
| # asString: '' | ||
| # asArray: [] | ||
| # ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # macOS x64 | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), eq(parameters.platformGroup, 'all')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: OSX | ||
| archType: x64 | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| managedTestBuildOsGroup: OSX | ||
| helixQueues: | ||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}: | ||
| - OSX.1013.Amd64.Open | ||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}: | ||
| - OSX.1013.Amd64.Open | ||
| - OSX.1014.Amd64.Open | ||
| - ${{ if eq(variables['System.TeamProject'], 'internal') }}: | ||
| - OSX.1013.Amd64 | ||
| - OSX.1014.Amd64 | ||
| ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # Windows x64 | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Windows_NT | ||
| archType: x64 | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| managedTestBuildOsGroup: Windows_NT | ||
| helixQueues: | ||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}: | ||
| - Windows.10.Amd64.Open | ||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}: | ||
| - (Windows.Nano.1809.Amd64.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:nanoserver-1809-helix-amd64-61052b7-20190723211353 | ||
| - 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.Nano.1809.Amd64.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:nanoserver-1809-helix-amd64-61052b7-20190723211353 | ||
| ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # Windows x86 | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_x86'), in(parameters.platformGroup, 'all', 'gcstress')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Windows_NT | ||
| archType: x86 | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| managedTestBuildOsGroup: Windows_NT | ||
| helixQueues: | ||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}: | ||
| - Windows.10.Amd64.Open | ||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.helixQueueGroup, 'pr', 'ci', 'corefx')) }}: | ||
| - 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 or(containsValue(parameters.platforms, 'Windows_NT_arm'), eq(parameters.platformGroup, 'all')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Windows_NT | ||
| archType: arm | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| managedTestBuildOsGroup: Windows_NT | ||
| helixQueues: | ||
| # NOTE: there are no queues specified for Windows_NT_arm public with helixQueueGroup='pr'. This means that specifying | ||
| # Windows_NT_arm for a PR job causes a build, but no test run. If the test build and test runs were separate jobs, | ||
| # this could be more explicit (and less subtle). | ||
| - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.helixQueueGroup, 'ci', 'corefx')) }}: | ||
| - Windows.10.Arm64.Open | ||
| - ${{ if eq(variables['System.TeamProject'], 'internal') }}: | ||
| - Windows.10.Arm64 | ||
| ${{ insert }}: ${{ parameters.jobParameters }} | ||
|
|
||
| # Windows arm64 | ||
|
|
||
| - ${{ if or(containsValue(parameters.platforms, 'Windows_NT_arm64'), eq(parameters.platformGroup, 'all')) }}: | ||
| - template: xplat-setup.yml | ||
| parameters: | ||
| jobTemplate: ${{ parameters.jobTemplate }} | ||
| osGroup: Windows_NT | ||
| archType: arm64 | ||
| jobParameters: | ||
| stagedBuild: ${{ parameters.stagedBuild }} | ||
| buildConfig: ${{ parameters.buildConfig }} | ||
| managedTestBuildOsGroup: 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 }} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| parameters: | ||
| jobTemplate: '' | ||
| osGroup: '' | ||
| osSubgroup: '' | ||
| archType: '' | ||
| container: '' | ||
| jobParameters: {} | ||
|
|
||
| jobs: | ||
| - template: ${{ parameters.jobTemplate }} | ||
| parameters: | ||
| variables: | ||
| - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: | ||
| - name: archiveExtension | ||
| value: '.zip' | ||
| - name: archiveType | ||
| value: zip | ||
| - name: tarCompression | ||
| value: '' | ||
| - name: scriptExt | ||
| value: '.cmd' | ||
| - name: dir | ||
| value: '\' | ||
|
|
||
| - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: | ||
| - name: archiveExtension | ||
| value: '.tar.gz' | ||
| - name: archiveType | ||
| value: tar | ||
| - name: tarCompression | ||
| value: gz | ||
| - name: scriptExt | ||
| value: '.sh' | ||
| - name: dir | ||
| value: '/' | ||
|
|
||
| - ${{ if ne(parameters.jobParameters.crossrootfsDir, '') }}: | ||
| # This is only required for cross builds. | ||
| - name: ROOTFS_DIR | ||
| value: ${{ parameters.jobParameters.crossrootfsDir }} | ||
|
|
||
| osGroup: ${{ parameters.osGroup }} | ||
| osSubgroup: ${{ parameters.osSubgroup }} | ||
| archType: ${{ parameters.archType }} | ||
|
|
||
| ${{ if ne(parameters.container, '') }}: | ||
| ${{ if eq(parameters.container.registry, 'mcr') }}: | ||
| container: ${{ format('{0}:{1}', 'mcr.microsoft.com/dotnet-buildtools/prereqs', parameters.container.image) }} | ||
| ${{ if ne(parameters.container.registry, 'mcr') }}: | ||
| container: ${{ format('{0}:{1}', parameters.container.registry, parameters.container.image) }} | ||
|
|
||
| ${{ insert }}: ${{ parameters.jobParameters }} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.