@@ -10,6 +10,16 @@ concurrency:
1010permissions :
1111 contents : write
1212jobs :
13+ git-sha :
14+ name : Git SHA
15+ runs-on : ubuntu-latest
16+ outputs :
17+ git_sha : ${{ steps.git_sha.outputs.git_sha }}
18+ steps :
19+ - uses : actions/checkout@v4
20+ - uses : ./.github/actions/git-sha
21+ id : git_sha
22+
1323 sanitize :
1424 name : Sanitize
1525 runs-on : ubuntu-latest
@@ -94,7 +104,10 @@ jobs:
94104 build :
95105 name : Build
96106 runs-on : ubuntu-latest
97- needs : [build-images]
107+ needs : [git-sha, build-images]
108+ outputs :
109+ k0s_version : ${{ steps.export.outputs.k0s_version }}
110+ k0s_version_previous : ${{ steps.export.outputs.k0s_version_previous }}
98111 steps :
99112 - name : Checkout
100113 uses : actions/checkout@v4
@@ -107,8 +120,8 @@ jobs:
107120
108121 - name : Build Linux AMD64 and Output Metadata
109122 run : |
110- export SHORT_SHA=dev-${GITHUB_SHA::7 }
111- export LOCAL_ARTIFACT_MIRROR_IMAGE=${{ needs.build-images.outputs.local-artifact-mirror }}
123+ export SHORT_SHA=dev-${{ needs.git-sha.outputs.git_sha } }
124+ export LOCAL_ARTIFACT_MIRROR_IMAGE=proxy.replicated.com/anonymous/ ${{ needs.build-images.outputs.local-artifact-mirror }}
112125 make -B embedded-cluster-linux-amd64 K0S_VERSION=$(make print-PREVIOUS_K0S_VERSION) K0S_BINARY_SOURCE_OVERRIDE=$(make print-PREVIOUS_K0S_BINARY_SOURCE_OVERRIDE) VERSION="${SHORT_SHA}-previous-k0s"
113126 tar -C output/bin -czvf embedded-cluster-linux-amd64-previous-k0s.tgz embedded-cluster
114127 ./output/bin/embedded-cluster version metadata > metadata-previous-k0s.json
@@ -137,8 +150,8 @@ jobs:
137150 metadata.json
138151 - name : Build CI binary
139152 run : |
140- export SHORT_SHA=dev-${GITHUB_SHA::7 }
141- export LOCAL_ARTIFACT_MIRROR_IMAGE=${{ needs.build-images.outputs.local-artifact-mirror }}
153+ export SHORT_SHA=dev-${{ needs.git-sha.outputs.git_sha } }
154+ export LOCAL_ARTIFACT_MIRROR_IMAGE=proxy.replicated.com/anonymous/ ${{ needs.build-images.outputs.local-artifact-mirror }}
142155 echo "# channel release object" > e2e/kots-release-install/release.yaml
143156 echo 'channelID: "2cHXb1RCttzpR0xvnNWyaZCgDBP"' >> e2e/kots-release-install/release.yaml
144157 echo 'channelSlug: "ci"' >> e2e/kots-release-install/release.yaml
@@ -161,7 +174,7 @@ jobs:
161174 AWS_SECRET_ACCESS_KEY : ${{ secrets.STAGING_EMBEDDED_CLUSTER_UPLOAD_IAM_SECRET }}
162175 AWS_REGION : " us-east-1"
163176 run : |
164- export SHORT_SHA=dev-${GITHUB_SHA::7 }
177+ export SHORT_SHA=dev-${{ needs.git-sha.outputs.git_sha } }
165178 export EC_VERSION="v${SHORT_SHA}"
166179 ./scripts/cache-files.sh
167180 ./scripts/create-upgrade-release.sh
@@ -177,9 +190,14 @@ jobs:
177190 output/bin/embedded-cluster-previous-k0s
178191 output/bin/embedded-cluster-release-builder
179192 - name : Export K0s Version
193+ id : export
180194 run : |
181- make print-K0S_VERSION
182- echo "k0s_version=$(make print-K0S_VERSION)" >> "$GITHUB_OUTPUT"
195+ K0S_VERSION="$(make print-K0S_VERSION)"
196+ echo "K0S_VERSION=\"$K0S_VERSION\""
197+ echo "k0s_version=$K0S_VERSION" >> "$GITHUB_OUTPUT"
198+ PREVIOUS_K0S_VERSION="$(make print-PREVIOUS_K0S_VERSION)"
199+ echo "PREVIOUS_K0S_VERSION=\"$PREVIOUS_K0S_VERSION\""
200+ echo "k0s_version_previous=$PREVIOUS_K0S_VERSION" >> "$GITHUB_OUTPUT"
183201
184202 check-images :
185203 name : Check Images
@@ -222,6 +240,7 @@ jobs:
222240 permissions :
223241 pull-requests : write
224242 needs :
243+ - git-sha
225244 - build
226245 - build-images
227246 steps :
@@ -244,7 +263,7 @@ jobs:
244263 REPLICATED_API_TOKEN : ${{ secrets.STAGING_REPLICATED_API_TOKEN }}
245264 REPLICATED_API_ORIGIN : " https://api.staging.replicated.com/vendor"
246265 run : |
247- export SHORT_SHA=dev-${GITHUB_SHA::7 }
266+ export SHORT_SHA=dev-${{ needs.git-sha.outputs.git_sha } }
248267 echo "${SHORT_SHA}"
249268 sed -i "s/__version_string__/${SHORT_SHA}/g" e2e/kots-release-install/cluster-config.yaml
250269 sed -i "s/__version_string__/${SHORT_SHA}-upgrade/g" e2e/kots-release-upgrade/cluster-config.yaml
@@ -268,7 +287,7 @@ jobs:
268287 REPLICATED_API_TOKEN : ${{ secrets.STAGING_REPLICATED_API_TOKEN }}
269288 REPLICATED_API_ORIGIN : " https://api.staging.replicated.com/vendor"
270289 run : |
271- export SHORT_SHA=dev-${GITHUB_SHA::7 }
290+ export SHORT_SHA=dev-${{ needs.git-sha.outputs.git_sha } }
272291 echo "${SHORT_SHA}"
273292
274293 # airgap tests install the previous k0s version to ensure an upgrade occurs
@@ -283,7 +302,7 @@ jobs:
283302 - name : Create download link message text
284303 if : github.event_name == 'pull_request'
285304 run : |
286- export SHORT_SHA=dev-${GITHUB_SHA::7 }
305+ export SHORT_SHA=dev-${{ needs.git-sha.outputs.git_sha } }
287306
288307 echo "This PR has been released (on staging) and is available for download with a embedded-cluster-smoke-test-staging-app [license ID](https://vendor.staging.replicated.com/apps/embedded-cluster-smoke-test-staging-app/customers?sort=name-asc)." > download-link.txt
289308 echo "" >> download-link.txt
@@ -359,6 +378,8 @@ jobs:
359378 runner : embedded-cluster
360379 - test : TestMultiNodeAirgapHADisasterRecovery
361380 runner : embedded-cluster
381+ - test : TestFiveNodesAirgapUpgrade
382+ runner : embedded-cluster
362383 steps :
363384 - name : Checkout
364385 uses : actions/checkout@v4
@@ -380,7 +401,8 @@ jobs:
380401 license : ${{ secrets.STAGING_EMBEDDED_CLUSTER_LICENSE }}
381402 dr-aws-access-key-id : ${{ secrets.TESTIM_AWS_ACCESS_KEY_ID }}
382403 dr-aws-secret-access-key : ${{ secrets.TESTIM_AWS_SECRET_ACCESS_KEY }}
383- k0s-version : ${{ steps.build.outputs.k0s_version }}
404+ k0s-version : ${{ needs.build.outputs.k0s_version }}
405+ k0s-version-previous : ${{ needs.build.outputs.k0s_version_previous }}
384406
385407 # this job will validate that all the tests passed
386408 # it is used for the github branch protection rule
0 commit comments