Skip to content

Commit 6bb563f

Browse files
committed
feat(release): publish the arm64 Talos assets
arm64 users can only take the Talos ISO, disk images, kernel and initramfs from the Image Factory today, because a release carries the amd64 ones only. The tag build now builds the assets for both arches and uploads the arm64 set next to the amd64 one under the same naming. It also pushes the talos installer image as a two-arch index, because a node installed from the arm64 assets pulls its installer from that image. The rest of the build stays amd64. Signed-off-by: Aleksei Sviridkin <[email protected]> Assisted-by: LLM
1 parent 6907c22 commit 6bb563f

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

‎.github/workflows/tags.yaml‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,11 @@ jobs:
175175
# Build project artifacts
176176
- name: Build
177177
if: steps.check_release.outputs.release_exists == 'false'
178-
run: make build
178+
run: |
179+
make build
180+
# The arm64 assets published below install this image, and building
181+
# its arm64 half needs no QEMU, so it is pushed again as both arches.
182+
make -C packages/core/talos image-talos PLATFORM=linux/amd64,linux/arm64
179183
env:
180184
DOCKER_CONFIG: ${{ runner.temp }}/.docker
181185
# Cache manifests are registry-portable (oci-mediatypes=true) — read
@@ -257,8 +261,6 @@ jobs:
257261
make upload_assets VERSION=${{ steps.tag.outputs.tag }}
258262
env:
259263
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
260-
# hack/upload-assets.sh publishes the amd64 Talos assets only.
261-
PLATFORM: linux/amd64
262264

263265
# Publish the rc release once its assets are uploaded. The draft above is
264266
# created draft; a stable draft stays draft for finalize to publish, but an

‎hack/upload-assets.sh‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ gh release upload --clobber $version _out/assets/cozystack-crds.yaml
77
gh release upload --clobber $version _out/assets/cozystack-operator-talos.yaml
88
gh release upload --clobber $version _out/assets/cozystack-operator-generic.yaml
99
gh release upload --clobber $version _out/assets/cozystack-operator-hosted.yaml
10-
gh release upload --clobber $version _out/assets/metal-amd64.iso
11-
gh release upload --clobber $version _out/assets/metal-amd64.raw.xz
12-
gh release upload --clobber $version _out/assets/nocloud-amd64.raw.xz
13-
gh release upload --clobber $version _out/assets/kernel-amd64
14-
gh release upload --clobber $version _out/assets/initramfs-metal-amd64.xz
10+
for arch in amd64 arm64; do
11+
gh release upload --clobber $version _out/assets/metal-$arch.iso
12+
gh release upload --clobber $version _out/assets/metal-$arch.raw.xz
13+
gh release upload --clobber $version _out/assets/nocloud-$arch.raw.xz
14+
gh release upload --clobber $version _out/assets/kernel-$arch
15+
gh release upload --clobber $version _out/assets/initramfs-metal-$arch.xz
16+
done
1517
gh release upload --clobber $version _out/assets/cozypkg-*.tar.gz
1618
gh release upload --clobber $version _out/assets/cozypkg-checksums.txt
1719
gh release upload --clobber $version _out/assets/openapi.json

0 commit comments

Comments
 (0)