dotnet-installer/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml

140 lines
5.9 KiB
YAML

# Builds a source-build tarball
parameters:
# Dependent jobs that must be completed before this job will run
dependsOn:
# Resource id of the installer build to retrieve source/product tarball's from
installerBuildResourceId: current
# The following parameters aren't expected to be passed in rather they are used for encapsulation
# -----------------------------------------------------------------------------------------------
alpine317Container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17-20230214152931-7f13c75
centOSStream8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8-20220809204800-17a4aab
centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9-20220107135047-4cd394c
debian11Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-arm64v8-20220812185233-b286fae
fedora38Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38-20230609193134-47458d2
ubuntu2004Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-20220813234344-4c008dd
poolInternalAmd64:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
poolInternalAmd64PR:
name: NetCore1ESPool-Internal-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
poolInternalArm64:
name: Docker-Linux-Arm-Internal
poolPublicAmd64:
name: NetCore-Public-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
jobs:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
parameters:
architecture: x64
dependsOn: ${{ parameters.dependsOn }}
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
excludeSdkContentTests: true
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix:
CentOSStream8-Online:
_BootstrapPrep: true
_Container: ${{ parameters.centOSStream8Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: true
_RunOnline: true
_WithPreviousSDK: false
CentOSStream8-Offline:
_BootstrapPrep: true
_Container: ${{ parameters.centOSStream8Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: true
_RunOnline: false
_WithPreviousSDK: false
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
Alpine317-Offline:
_BootstrapPrep: true
_Container: ${{ parameters.alpine317Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: true
_RunOnline: false
_WithPreviousSDK: false
CentOSStream8-WithPreviousSDK:
_BootstrapPrep: false
_Container: ${{ parameters.centOSStream8Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: true
_RunOnline: false
_WithPreviousSDK: true
CentOSStream9-Offline:
_BootstrapPrep: true
_Container: ${{ parameters.centOSStream9Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: false
_RunOnline: false
_WithPreviousSDK: false
Fedora38-Offline:
_BootstrapPrep: true
_Container: ${{ parameters.fedora38Container }}
_EnablePoison: true
_ExcludeOmniSharpTests: false
_RunOnline: false
_WithPreviousSDK: false
Ubuntu2004-Offline:
_BootstrapPrep: true
_Container: ${{ parameters.ubuntu2004Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: false
_RunOnline: false
_WithPreviousSDK: false
name: Build_Tarball_x64
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
${{ parameters.poolPublicAmd64 }}
${{ if eq(variables['System.TeamProject'], 'internal') }}:
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
${{ parameters.poolInternalAmd64PR }}
${{ else }}:
${{ parameters.poolInternalAmd64 }}
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
parameters:
architecture: arm64
dependsOn: ${{ parameters.dependsOn }}
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix:
Debian11-Offline:
_BootstrapPrep: true
_Container: ${{ parameters.debian11Arm64Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: false
_RunOnline: false
_WithPreviousSDK: false
name: Build_Tarball_arm64
pool: ${{ parameters.poolInternalArm64 }}
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
parameters:
architecture: x64
# Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete accessment of the build status.
# The bootstrap build will shortcut if the stage 1 build failed.
condition: succeededOrFailed()
dependsOn: Build_Tarball_x64
excludeSdkContentTests: true
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix:
Fedora38-Offline:
_PreviousSourceBuildArtifact: Build_Tarball_x64 Fedora38-Offline_Artifacts
_Container: ${{ parameters.fedora38Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: false
_RunOnline: false
_WithPreviousSDK: false
name: Build_Tarball_x64_Using_Previous
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
${{ parameters.poolPublicAmd64 }}
${{ if eq(variables['System.TeamProject'], 'internal') }}:
${{ parameters.poolInternalAmd64 }}
usePreviousArtifacts: true