Skip to content

Commit 133e771

Browse files
committed
Reuse airgap workflow in release
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
1 parent 6e697c1 commit 133e771

4 files changed

Lines changed: 35 additions & 46 deletions

File tree

.github/workflows/airgap.yaml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
name: Airgap Test
1+
name: Airgap Image Tarballs
22
on:
33
pull_request:
44
paths:
55
- "scripts/package-airgap"
66
- "scripts/airgap/image-list.txt"
77
- ".github/workflows/airgap.yaml"
8-
workflow_dispatch: {}
8+
workflow_call: {}
99

1010
jobs:
1111
build-airgap:
12-
name: Build Airgap Pkg (${{ matrix.arch }})
12+
name: Export Images (${{ matrix.arch }})
1313
runs-on: ubuntu-latest # Runs on standard runner, docker pulls with --platform
1414
strategy:
1515
matrix:
@@ -24,16 +24,28 @@ jobs:
2424
with:
2525
version: type=image,tag=28
2626
daemon-config: '{"features":{"containerd-snapshotter":true}}'
27+
set-host: true
2728

2829
- name: Set up Docker Buildx
2930
uses: docker/setup-buildx-action@v3
3031

3132
- name: Install Dependencies
3233
run: sudo apt-get update -y && sudo apt-get install -y zstd pigz
3334

34-
- name: Create Airgap Package (${{ matrix.arch }})
35+
- name: Create Airgap Package
3536
run: |
3637
mkdir -p ./dist/artifacts
37-
sudo chgrp $(id -g) /run/containerd /run/containerd/containerd.sock
38+
export CONTAINERD_ADDRESS=$(docker info --format '{{.Containerd.Address}}')
39+
sudo chgrp $(id -g) $CONTAINERD_ADDRESS $(dirname $CONTAINERD_ADDRESS)
3840
./scripts/package-airgap ${{ matrix.arch }}
3941
42+
- name: Caculate Airgap sha256sum
43+
run: sha256sum dist/artifacts/k3s-airgap-images-${{ matrix.arch }}* | sed 's|dist/artifacts/||' > dist/artifacts/k3s-airgap-images-${{ matrix.arch }}.sha256sum
44+
45+
- name: Upload Artifacts
46+
uses: actions/upload-artifact@v4
47+
with:
48+
name: images-${{ matrix.arch }}
49+
path: dist/artifacts/k3s-airgap-images-${{ matrix.arch }}.*
50+
if-no-files-found: error
51+
retention-days: 7

.github/workflows/build-k3s.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ jobs:
4747
with:
4848
version: type=image,tag=28
4949
daemon-config: '{"features":{"containerd-snapshotter":true}}'
50+
set-host: true
5051

5152
- name: Set up Docker Buildx
5253
uses: docker/setup-buildx-action@v3

.github/workflows/e2e.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ jobs:
6262
with:
6363
version: type=image,tag=28
6464
daemon-config: '{"features":{"containerd-snapshotter":true}}'
65+
set-host: true
6566
- name: Set up vagrant and libvirt
6667
uses: ./.github/actions/vagrant-setup
6768
- name: Vagrant R/W Cache
@@ -213,6 +214,7 @@ jobs:
213214
with:
214215
version: type=image,tag=28
215216
daemon-config: '{"features":{"containerd-snapshotter":true}}'
217+
set-host: true
216218
- name: Load and set K3s image
217219
run: |
218220
if [ ${{ matrix.arch }} = "arm64" ]; then

.github/workflows/release.yml

Lines changed: 15 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ jobs:
4646
with:
4747
version: type=image,tag=28
4848
daemon-config: '{"features":{"containerd-snapshotter":true}}'
49+
set-host: true
4950

5051
- name: Set up Docker Buildx
5152
uses: docker/setup-buildx-action@v3
@@ -167,16 +168,17 @@ jobs:
167168
build-args: |
168169
TAG=${{ github.ref_name }}
169170
171+
build-airgap:
172+
uses: ./.github/workflows/airgap.yaml
173+
170174
upload-release-airgap:
171-
name: Build Airgap Pkg (${{ matrix.arch }})
172-
runs-on: ubuntu-latest # Runs on standard runner, docker pulls with --platform
175+
name: Release Airgap Image Tarballs
176+
runs-on: ubuntu-latest
173177
permissions:
174178
contents: write # Needed to update release with assets
175179
id-token: write
176180
strategy:
177-
matrix:
178-
arch: [amd64, arm64, arm]
179-
181+
needs: [build-airgap]
180182
steps:
181183
- name: Checkout code
182184
uses: actions/checkout@v6
@@ -196,55 +198,27 @@ jobs:
196198
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
197199
aws-region: us-east-1
198200

199-
- name: Set up Docker
200-
uses: docker/setup-docker-action@v4
201-
with:
202-
version: type=image,tag=28
203-
daemon-config: '{"features":{"containerd-snapshotter":true}}'
204-
205-
- name: Set up Docker Buildx
206-
uses: docker/setup-buildx-action@v3
207-
208-
- name: Install Dependencies
209-
run: sudo apt-get update -y && sudo apt-get install -y zstd pigz
210-
211-
- name: Create Airgap Package (${{ matrix.arch }})
212-
run: |
213-
mkdir -p ./dist/artifacts
214-
./scripts/package-airgap ${{ matrix.arch }}
215-
216-
- name: Caculate Airgap sha256sum
217-
run: sha256sum dist/artifacts/k3s-airgap-images-${{ matrix.arch }}* | sed 's|dist/artifacts/||' > dist/artifacts/k3s-airgap-images-${{ matrix.arch }}.sha256sum
218-
219-
- name: Upload Airgap sha256sum
220-
uses: actions/upload-artifact@v5
201+
- name: Download Artifacts
202+
uses: actions/download-artifact@v6
221203
with:
222-
name: k3s-airgap-images-${{ matrix.arch }}.sha256sum
223-
path: dist/artifacts/k3s-airgap-images-${{ matrix.arch }}.sha256sum
204+
pattern: images-*
205+
merge-multiple: true
206+
path: dist/artifacts/
224207

225-
- name: Upload k3s-images.txt to Release
226-
uses: softprops/action-gh-release@v2
227-
# This action is recommended by GITHUB, they don't support a first party action for releases
228-
# See https://github.com/actions/create-release?tab=readme-ov-file#github-action---releases-api
229-
if: ${{ matrix.arch == 'amd64' }}
230-
with:
231-
files: |
232-
dist/artifacts/k3s-images.txt
233-
env:
234-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
235-
236208
- name: Upload Airgap Assets to Release
237209
uses: softprops/action-gh-release@v2
238210
with:
239211
files: |
212+
scripts/airgap/image-list.txt
240213
dist/artifacts/k3s-airgap-images*
241214
env:
242215
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
243216

244-
- name: Upload Assets
217+
- name: Upload Airgap Assets to S3
245218
env:
246219
S3_PATH: s3://${{ env.PRIME_ARTIFACTS_BUCKET_NAME }}/k3s/${{ github.event.release.tag_name }}
247220
run: |
221+
cp scripts/airgap/image-list.txt dist/artifacts/
248222
aws s3 sync dist/artifacts/ "$S3_PATH" --quiet --no-progress --exclude "*" --include "k3s-images.txt" --include "k3s-airgap-images*"
249223
250224
upload-release-assets:

0 commit comments

Comments
 (0)