Skip to content

Commit 19c2e7c

Browse files
authored
Update bootstrap scripts to use params for source-build and s-b-r-p build.sh (#1476)
* Update bootstrap scripts to use params for source-build build.sh and source-build-reference-packages build.sh * Update CI to work with updated bootstrap script * Fix cleanup of reference packages * Enable smoke-test-prereqs in bootstrapping final SDK smoke tests.
1 parent e5d3faa commit 19c2e7c

File tree

4 files changed

+34
-58
lines changed

4 files changed

+34
-58
lines changed

.vsts.pipelines/jobs/ci-linux_bootstrap.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
displayName: Download CentOS artifacts
4343
inputs:
4444
buildType: 'current'
45-
itemPattern: 'Tarball centos71 Offline/$(tarballName).tar.gz'
45+
itemPattern: 'Tarball centos71 Offline/$(tarballName)*.tar.gz'
4646
artifactName: 'Tarball centos71 Offline'
4747
downloadPath: '$(System.ArtifactsDirectory)/boostrap_root'
4848

.vsts.pipelines/steps/run-bootstrap.yml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ steps:
77
$(docker.run) --network=none $(docker.bst.map) $(docker.bst.work) $(imageName) bash -c '
88
mkdir -p /bst/sb/tarball
99
tar -xf "/bst/Tarball centos71 Offline/$(tarballName).tar.gz" -C /bst/sb/tarball --no-same-owner --strip-components=1
10-
rm -rf "/bst/Tarball centos71 Offline"'
10+
rm -rf "/bst/Tarball centos71 Offline/$(tarballName).tar.gz"'
1111
df -h
1212
displayName: Unpack Tarball
1313
condition: always()
@@ -84,16 +84,18 @@ steps:
8484
displayName: Build stage1 source-build-reference-packages
8585
condition: succeeded()
8686

87-
# Copy ref-packages tarball to drop directory.
87+
# Create and copy ref-packages tarball to drop directory.
8888
- script: |
8989
set -ex
9090
df -h
9191
$(docker.run) $(docker.bst.map) $(docker.drop.map) $(docker.bst.work) $(imageName) /bin/bash -c "
9292
mkdir -p /drop/tarball/reference-packages
9393
pushd /bst/bootstrap_dir/reference-packages
94+
tar --numeric-owner -czf Private.SourceBuild.ReferencePackages.bootstrap.tar.gz *.nupkg
9495
find . \( \
9596
-iname 'Private.SourceBuild.ReferencePackages.bootstrap.tar.gz' \) \
9697
-exec cp {} /drop/tarball/reference-packages \;
98+
rm -rf Private.SourceBuild.ReferencePackages.bootstrap.tar.gz
9799
popd"
98100
du -h $(rootDirectory) | sort -h | tail -n 50
99101
displayName: Copy ref-packages tarball
@@ -108,8 +110,8 @@ steps:
108110
rm -rf /bst/source-build-reference-packages/*
109111
rm -rf /bst/source-build-reference-packages/.git
110112
pushd /bst/bootstrap_dir/reference-packages
111-
echo "Removing everything in reference-packages except artifacts"
112-
find . -type f -not -name '*SourceBuild.ReferencePackages.bootstrap.tar.gz' -delete
113+
echo "Removing everything in reference-packages except nupkg artifacts"
114+
find . -type f -not -name '*.nupkg' -delete
113115
popd'
114116
displayName: Clean all except tarball in source-build-reference-packages
115117
condition: always()
@@ -177,6 +179,17 @@ steps:
177179
condition: always()
178180
continueOnError: true
179181

182+
- script: |
183+
set -ex
184+
mount
185+
df -h
186+
$(docker.run) --network=none $(docker.bst.map) $(docker.bst.work) $(imageName) bash -c '
187+
tar -xf "/bst/Tarball centos71 Offline/$(tarballName)-smoke-test-prereqs.tar.gz" -C /bst/bootstrap_dir/final-sdk --no-same-owner --strip-components=1
188+
rm -rf "/bst/Tarball centos71 Offline/$(tarballName)-smoke-test-prereqs.tar.gz"'
189+
df -h
190+
displayName: Unpack smoke test prereqs
191+
condition: always()
192+
180193
- script: |
181194
set -ex
182195
df -h

smoke-test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ restoredPackagesDir="$testingDir/packages"
3030
testingHome="$testingDir/home"
3131
archiveRestoredPackages=false
3232
archivedPackagesDir="$testingDir/smoke-test-packages"
33-
smokeTestPrebuilts="$SCRIPT_ROOT/prebuilt/smoke-test-packages"
33+
smokeTestPrebuilts="$SCRIPT_ROOT/packages/smoke-test-packages"
3434
runningOnline=false
3535
runningHttps=false
3636

support/tarball/tool-bootstrapping/bootstrap.sh

Lines changed: 15 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -80,32 +80,16 @@ function BuildRefPkgs {
8080
LogMessage "Copy $refPkgSourceDir to $refPkgsDir"
8181
cp -r $refPkgSourceDir $refPkgsDir
8282

83-
LogMessage "Copy coreclr-tools to $refPkgsDir/source-built"
84-
cp -r $stage1Dir/Tools/source-built/coreclr-tools/ $refPkgsDir/source-built
85-
86-
LogMessage "Un-tar private source-built artifacts into $refPkgsDir/source-built/"
87-
tar -xzf $stage1Dir/bin/x64/Release/Private.SourceBuilt.Artifacts.*.tar.gz --directory $refPkgsDir/source-built/
88-
89-
LogMessage "Un-tar sdk into $refPkgsDir/.dotnet/"
90-
if [ -d "$refPkgsDir/.dotnet/" ]; then
91-
rm -rf $refPkgsDir/.dotnet/
83+
LogMessage "Un-tar sdk into $stage1SdkInstallDir"
84+
if [ -d "$stage1SdkInstallDir" ]; then
85+
rm -rf $stage1SdkInstallDir
9286
fi
93-
mkdir $refPkgsDir/.dotnet/
94-
tar -xzf $stage1Dir/bin/x64/Release/dotnet-sdk-3*.tar.gz --directory $refPkgsDir/.dotnet/
95-
96-
LogMessage "Update SDK version in global.json file"
97-
sdkVer=`ls $refPkgsDir/.dotnet/sdk`
98-
LogMessage " Sdk version = [$sdkVer]"
99-
sed -i "s|\"dotnet\": \".*|\"dotnet\": \"$sdkVer\"|g" $refPkgsDir/global.json
87+
mkdir $stage1SdkInstallDir
88+
tar -xzf $stage1Dir/bin/x64/Release/dotnet-sdk-3*.tar.gz --directory $stage1SdkInstallDir
10089

10190
LogMessage "Build stage1 ref-pkgs"
10291
pushd $refPkgsDir
103-
./build.sh
104-
popd
105-
106-
LogMessage "Package built reference packages into new tarball"
107-
pushd $refPkgsDir/artifacts/reference-packages
108-
tar --numeric-owner -czf $refPkgsDir/artifacts/Private.SourceBuild.ReferencePackages.bootstrap.tar.gz *.nupkg
92+
./build.sh --with-packages $stage1Dir/bin/x64/Release/Private.SourceBuilt.Artifacts.*.tar.gz --with-sdk $stage1SdkInstallDir
10993
popd
11094

11195
LogMessage "Completing Step2 - Build Reference Packages"
@@ -139,45 +123,22 @@ function buildFinalSdk {
139123
fi
140124

141125
if [ "${1-default}" != "test" ]; then
142-
LogMessage "Copy $tarballSourceDir to $finalSdkDir"
143-
cp -r $tarballSourceDir $finalSdkDir
126+
LogMessage "Copy $tarballSourceDir to $finalSdkDir"
127+
cp -r $tarballSourceDir $finalSdkDir
144128
fi
145129

146130
LogMessage "Remove archive packages, source-built packages and SDK from final-sdk dir"
147-
rm -rf $finalSdkDir/packages/archive/*
131+
rm -rf $finalSdkDir/packages/archive
148132
rm -rf $finalSdkDir/packages/source-built/*
149133
rm -rf $finalSdkDir/.dotnet
150134

151-
LogMessage "Copy stage1 coreclr-tools to $finalSdkDir/packages/source-built"
152-
cp -r $stage1Dir/Tools/source-built/coreclr-tools $finalSdkDir/packages/source-built
153-
154-
LogMessage "Copy source-built packages archive from $stage1Dir/bin/x64/Release/Private.SourceBuilt.Artifacts*.tar.gz to $finalSdkDir/packages/archive"
155-
cp $stage1Dir/bin/x64/Release/Private.SourceBuilt.Artifacts*.tar.gz $finalSdkDir/packages/archive
156-
157-
LogMessage "Extract .NET Core SDK from $stage1Dir/bin/x64/Release/dotnet-sdk-3*.tar.gz to $finalSdkDir/.dotnet/"
158-
if [ -d "$finalSdkDir/.dotnet/" ]; then
159-
rm -rf $finalSdkDir/.dotnet/
160-
fi
161-
mkdir $finalSdkDir/.dotnet/
162-
tar -xzf $stage1Dir/bin/x64/Release/dotnet-sdk-3*.tar.gz --directory $finalSdkDir/.dotnet/
163-
164-
LogMessage "Copy reference packages from $refPkgsDir/artifacts/Private.SourceBuild.ReferencePackages.bootstrap.tar.gz to $finalSdkDir/packages/archive"
165-
cp $refPkgsDir/artifacts/Private.SourceBuild.ReferencePackages.bootstrap.tar.gz $finalSdkDir/packages/archive
166-
167-
LogMessage "Update version of SDK and arcade in global.json"
168-
arcadeName=$(tar -tf $finalSdkDir/packages/archive/Private.SourceBuilt.Artifacts*.tar.gz Microsoft.DotNet.Arcade.Sdk.*.nupkg)
169-
arcadeVer=${arcadeName//Microsoft.DotNet.Arcade.Sdk.}
170-
arcadeVer=${arcadeVer//.nupkg}
171-
LogMessage " Arcade version = [$arcadeVer]"
172-
sed -i "s|\(\"Microsoft.DotNet.Arcade.Sdk\": \"\)[^\"]*\"|\1$arcadeVer\"|g" $finalSdkDir/global.json
173-
174-
sdkVer=$(ls $finalSdkDir/.dotnet/sdk)
175-
LogMessage " Sdk version = [$sdkVer]"
176-
sed -i "s|\"dotnet\": \".*|\"dotnet\": \"$sdkVer\"|g" $finalSdkDir/global.json
135+
LogMessage "Install previously source-built archive from $stage1Dir/bin/x64/Release/Private.SourceBuilt.Artifacts*.tar.gz to $stage1SourceBuiltArtifactsInstallDir"
136+
mkdir -p $stage1SourceBuiltArtifactsInstallDir
137+
tar -xzf $stage1Dir/bin/x64/Release/Private.SourceBuilt.Artifacts*.tar.gz --directory $stage1SourceBuiltArtifactsInstallDir
177138

178139
LogMessage "Build final sdk"
179140
pushd $finalSdkDir
180-
./build.sh
141+
./build.sh --with-ref-packages $refPkgsDir/artifacts/reference-packages --with-packages $stage1SourceBuiltArtifactsInstallDir --with-sdk $stage1SdkInstallDir
181142
popd
182143

183144
LogMessage "Completing Step3 - Build final sdk"
@@ -205,6 +166,8 @@ refPkgSourceDir="$(abspath $3)"
205166
startStep="${4:-}"
206167

207168
stage1Dir="$bootstrapDir/stage1-sdk"
169+
stage1SdkInstallDir="$bootstrapDir/stage1-sdk-install"
170+
stage1SourceBuiltArtifactsInstallDir="$bootstrapDir/stage1-source-built-artifacts-install"
208171
refPkgsDir="$bootstrapDir/reference-packages"
209172
finalSdkDir="$bootstrapDir/final-sdk"
210173

0 commit comments

Comments
 (0)