Skip to content

Commit 5108944

Browse files
committed
[Ci] Support to use the same snapshot for all platform builds (sonic-net#13913)
IBGP
1 parent b41008e commit 5108944

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

.azure-pipelines/azure-pipelines-UpgrateVersion.yml

+35
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,32 @@ parameters:
4040
- marvell-armhf
4141

4242
stages:
43+
- stage: Prepare
44+
jobs:
45+
- job: Prepare
46+
steps:
47+
- script: |
48+
DEFAULT_MIRROR_URL_PREFIX=http://packages.trafficmanager.net
49+
DEBIAN_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian/latest/timestamp)
50+
DEBIAN_SECURITY_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian-security/latest/timestamp)
51+
echo "DEBIAN_TIMESTAMP=$DEBIAN_TIMESTAMP, DEBIAN_SECURITY_TIMESTAMP=$DEBIAN_SECURITY_TIMESTAMP"
52+
echo "##vso[task.setvariable variable=DEBIAN_TIMESTAMP;isOutput=true]$DEBIAN_TIMESTAMP"
53+
echo "##vso[task.setvariable variable=DEBIAN_SECURITY_TIMESTAMP;isOutput=true]$DEBIAN_SECURITY_TIMESTAMP"
54+
name: SetVersions
55+
displayName: 'Set snapshot versions'
4356
- stage: Build
57+
dependsOn: Prepare
4458
variables:
4559
- name: CACHE_MODE
4660
value: none
4761
- name: VERSION_CONTROL_OPTIONS
4862
value: 'SONIC_VERSION_CONTROL_COMPONENTS='
63+
- name: SKIP_CHECKOUT
64+
value: true
65+
- name: DEBIAN_TIMESTAMP
66+
value: $[ stageDependencies.Prepare.Prepare.outputs['SetVersions.DEBIAN_TIMESTAMP'] ]
67+
- name: DEBIAN_SECURITY_TIMESTAMP
68+
value: $[ stageDependencies.Prepare.Prepare.outputs['SetVersions.DEBIAN_SECURITY_TIMESTAMP'] ]
4969
- template: .azure-pipelines/template-variables.yml@buildimage
5070
jobs:
5171
- template: azure-pipelines-build.yml
@@ -54,6 +74,21 @@ stages:
5474
buildOptions: '${{ variables.VERSION_CONTROL_OPTIONS }} ENABLE_DOCKER_BASE_PULL=n SONIC_BUILD_JOBS=$(nproc) ENABLE_IMAGE_SIGNATURE=y'
5575
preSteps:
5676
- template: .azure-pipelines/template-clean-sonic-slave.yml@buildimage
77+
- checkout: self
78+
submodules: recursive
79+
fetchDepth: 0
80+
path: s
81+
displayName: 'Checkout code'
82+
- script: |
83+
echo "DEBIAN_TIMESTAMP=$DEBIAN_TIMESTAMP, DEBIAN_SECURITY_TIMESTAMP=$DEBIAN_SECURITY_TIMESTAMP"
84+
if [ "$MIRROR_SNAPSHOT" == y ]; then
85+
mkdir -p target/versions/default/
86+
echo "debian==$DEBIAN_TIMESTAMP" > target/versions/default/versions-mirror
87+
echo "debian-security==$DEBIAN_SECURITY_TIMESTAMP" >> target/versions/default/versions-mirror
88+
cat target/versions/default/versions-mirror
89+
fi
90+
displayName: 'Set snapshot versions'
91+
5792
- stage: UpgradeVersions
5893
jobs:
5994
- job: UpgradeVersions

0 commit comments

Comments
 (0)