Merge branch 'main' of https://github.com/dotnet/installer into move-sdk-smoke-tests

This commit is contained in:
MilenaHristova 2023-03-06 10:45:48 +01:00
commit 1ff37e478f
13 changed files with 318 additions and 212 deletions

View file

@ -53,6 +53,10 @@ parameters:
type: boolean
default: false
- name: withPreviousSDK
type: boolean
default: false
jobs:
- job: ${{ parameters.buildName }}_${{ parameters.architecture }}
timeoutInMinutes: 150
@ -71,12 +75,8 @@ jobs:
- ${{ else }}:
- name: BotAccount-dotnet-bot-repo-PAT
value: N/A
- ${{ if eq(parameters.reuseBuildArtifactsFrom, '') }}:
- name: additionalBuildArgs
value: ''
- ${{ else }}:
- name: additionalBuildArgs
value: ' --with-sdk /vmr/.dotnet'
- name: additionalBuildArgs
value: ''
# Location of the VMR sources
# We either build the repo directly, or we extract them outside (which is what partners do)
@ -136,16 +136,45 @@ jobs:
Contents: '*.tar.gz'
TargetFolder: ${{ variables.sourcesPath }}/prereqs/packages/archive/
- ${{ if eq(parameters.withPreviousSDK, 'true') }}:
- script: |
set -euo pipefail
packageVersionsPath="${{ variables.sourcesPath }}/eng/Versions.props"
notFoundMessage="No source-built SDK found to download..."
echo "Looking for source-built SDK to download..."
archiveUrlLine=`grep -m 1 "<PrivateSourceBuiltSdkUrl_CentOS8Stream>" "$packageVersionsPath" || :`
urlPattern="<PrivateSourceBuiltSdkUrl_CentOS8Stream>(.*)</PrivateSourceBuiltSdkUrl_CentOS8Stream>"
if [[ $archiveUrlLine =~ $urlPattern ]]; then
archiveUrl="${BASH_REMATCH[1]}"
downloadDir="$(sourcesPath)/prereqs/packages/archive/"
(cd $downloadDir && curl --retry 5 -O $archiveUrl)
else
echo "$notFoundMessage"
exit 1
fi
displayName: Setup Previously Source-Built SDK
- script: |
set -x
if [[ -z '${{ parameters.reuseBuildArtifactsFrom }}' ]]; then
if [[ -z '${{ parameters.reuseBuildArtifactsFrom }}' && '${{ parameters.withPreviousSDK }}' != 'True' ]]; then
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr ${{ parameters.container }} ./prep.sh
else
mkdir $(sourcesPath)/.dotnet
previousSdkPath="$(sourcesPath)/prereqs/packages/archive/dotnet-sdk-*.tar.gz"
eval tar -ozxf "$previousSdkPath" -C "$(sourcesPath)/.dotnet"
eval rm -f "$previousSdkPath"
if [[ '${{ parameters.withPreviousSDK }}' == 'True' ]]; then
# Source-built artifacts are from CentOS 8 Stream. We want to download them without
# downloading portable versions from the internet.
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr ${{ parameters.container }} ./prep.sh --no-bootstrap
fi
echo "##vso[task.setvariable variable=additionalBuildArgs]--with-sdk /vmr/.dotnet"
fi
displayName: Prep the Build

View file

@ -67,7 +67,7 @@ stages:
jobs:
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream8_Online
buildName: CentOSStream8_Online_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -80,11 +80,30 @@ stages:
excludeOmniSharpTests: true # ✅
overrideDistroDisablingSha1: false # 🚫
runOnline: true # ✅
withPreviousSDK: false # 🚫
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream8_Offline
buildName: CentOSStream8_Online_PreviousSourceBuiltSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool:
name: ${{ variables.defaultPoolName }}
demands: ${{ variables.defaultPoolDemands }}
container: ${{ parameters.centOSStream8Container }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
excludeSdkContentTests: true # ✅
overrideDistroDisablingSha1: false # 🚫
runOnline: true # ✅
withPreviousSDK: true # ✅
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream8_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -97,10 +116,11 @@ stages:
excludeOmniSharpTests: true # ✅
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream9_Offline
buildName: CentOSStream9_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -113,10 +133,11 @@ stages:
excludeOmniSharpTests: false # 🚫
overrideDistroDisablingSha1: true # ✅
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: Fedora36_Offline
buildName: Fedora36_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -129,10 +150,11 @@ stages:
excludeOmniSharpTests: false # 🚫
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: Ubuntu2004_Offline
buildName: Ubuntu2004_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -145,10 +167,11 @@ stages:
excludeOmniSharpTests: false # 🚫
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: Debian11_Offline
buildName: Debian11_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
@ -159,10 +182,11 @@ stages:
excludeOmniSharpTests: false # 🚫
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: Fedora36_Offline_Using_Previous
buildName: Fedora36_Offline_CurrentSourceBuiltSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -175,4 +199,5 @@ stages:
excludeOmniSharpTests: false # 🚫
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
reuseBuildArtifactsFrom: Fedora36_Offline
withPreviousSDK: false # 🚫
reuseBuildArtifactsFrom: Fedora36_Offline_MsftSdk