From 4781ebb7de58c8b7dcae980c8426f63c3868394c Mon Sep 17 00:00:00 2001 From: Itxaka Date: Mon, 17 Feb 2025 11:46:35 +0100 Subject: [PATCH 1/3] Bump alpine to 3.21 Signed-off-by: Itxaka --- .github/workflows/image-pr.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/image-pr.yaml b/.github/workflows/image-pr.yaml index 5e5f45006..0c80e4fe6 100644 --- a/.github/workflows/image-pr.yaml +++ b/.github/workflows/image-pr.yaml @@ -39,7 +39,7 @@ jobs: variant: ["core"] # So it shows up in the name, in case we use it for standard base_image: - "ubuntu:24.04" - - "alpine:3.19" + - "alpine:3.21" lifecycle-tests: name: ${{ matrix.base_image }} secrets: inherit @@ -59,7 +59,7 @@ jobs: secureboot: [false] base_image: - "ubuntu:24.04" - - "alpine:3.19" + - "alpine:3.21" test: - "custom-partitioning" - "acceptance" @@ -91,7 +91,7 @@ jobs: matrix: base_image: - "ubuntu:24.04" - - "alpine:3.19" + - "alpine:3.21" encryption-tests: name: ${{ matrix.base_image }} secrets: inherit @@ -109,7 +109,7 @@ jobs: matrix: base_image: - "ubuntu:24.04" - - "alpine:3.19" + - "alpine:3.21" label: - "encryption-local" - "encryption-remote-auto" From e943ea5d7ae270e4186753938c341441efc05ce3 Mon Sep 17 00:00:00 2001 From: Itxaka Date: Wed, 5 Mar 2025 11:02:59 +0100 Subject: [PATCH 2/3] Bump all and release match Signed-off-by: Itxaka --- .github/flavors.json | 422 ---------------------- .github/workflows/image-master-arm.yaml | 2 +- .github/workflows/image-master.yaml | 15 +- .github/workflows/image-pr-arm.yaml | 2 +- .github/workflows/image-pr.yaml | 7 + .github/workflows/release-arm.yaml | 8 +- .github/workflows/release.yaml | 4 +- .github/workflows/reusable-qemu-test.yaml | 14 +- 8 files changed, 39 insertions(+), 435 deletions(-) delete mode 100644 .github/flavors.json diff --git a/.github/flavors.json b/.github/flavors.json deleted file mode 100644 index 8d6a405e5..000000000 --- a/.github/flavors.json +++ /dev/null @@ -1,422 +0,0 @@ -[ - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "leap-15.6", - "variant": "standard", - "model": "generic", - "baseImage": "opensuse/leap:15.6", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "leap-15.6", - "variant": "core", - "model": "generic", - "baseImage": "opensuse/leap:15.6", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "leap-15.6", - "variant": "standard", - "model": "rpi4", - "baseImage": "opensuse/leap:15.6", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "leap-15.6", - "variant": "standard", - "model": "rpi3", - "baseImage": "opensuse/leap:15.6", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "leap-15.6", - "variant": "core", - "model": "rpi4", - "baseImage": "opensuse/leap:15.6", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "leap-15.6", - "variant": "core", - "model": "rpi3", - "baseImage": "opensuse/leap:15.6", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "leap-15.6", - "variant": "core", - "model": "generic", - "baseImage": "opensuse/leap:15.6", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "leap-15.6", - "variant": "standard", - "model": "generic", - "baseImage": "opensuse/leap:15.6", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "tumbleweed", - "variant": "standard", - "model": "generic", - "baseImage": "opensuse/tumbleweed", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "tumbleweed", - "variant": "core", - "model": "generic", - "baseImage": "opensuse/tumbleweed", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "tumbleweed", - "variant": "standard", - "model": "rpi4", - "baseImage": "opensuse/tumbleweed", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "tumbleweed", - "variant": "standard", - "model": "rpi3", - "baseImage": "opensuse/tumbleweed", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "tumbleweed", - "variant": "core", - "model": "rpi4", - "baseImage": "opensuse/tumbleweed", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "opensuse", - "flavor": "opensuse", - "flavorRelease": "tumbleweed", - "variant": "core", - "model": "rpi3", - "baseImage": "opensuse/tumbleweed", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "20.04", - "variant": "standard", - "model": "generic", - "baseImage": "ubuntu:20.04", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "20.04", - "variant": "core", - "model": "generic", - "baseImage": "ubuntu:20.04", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "20.04", - "variant": "standard", - "model": "rpi4", - "baseImage": "ubuntu:20.04", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "20.04", - "variant": "core", - "model": "rpi4", - "baseImage": "ubuntu:20.04", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "22.04", - "variant": "standard", - "model": "generic", - "baseImage": "ubuntu:22.04", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "22.04", - "variant": "core", - "model": "generic", - "baseImage": "ubuntu:22.04", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "22.04", - "variant": "standard", - "model": "rpi4", - "baseImage": "ubuntu:22.04", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "22.04", - "variant": "core", - "model": "rpi4", - "baseImage": "ubuntu:22.04", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "24.04", - "variant": "standard", - "model": "generic", - "baseImage": "ubuntu:24.04", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "24.04", - "variant": "core", - "model": "generic", - "baseImage": "ubuntu:24.04", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "24.10", - "variant": "core", - "model": "generic", - "baseImage": "ubuntu:24.10", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "24.10", - "variant": "standard", - "model": "generic", - "baseImage": "ubuntu:24.10", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "24.10", - "variant": "core", - "model": "generic", - "baseImage": "ubuntu:24.10", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "ubuntu", - "flavor": "ubuntu", - "flavorRelease": "24.10", - "variant": "standard", - "model": "generic", - "baseImage": "ubuntu:24.10", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "alpine", - "flavor": "alpine", - "flavorRelease": "3.19", - "variant": "standard", - "model": "generic", - "baseImage": "alpine:3.19", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "alpine", - "flavor": "alpine", - "flavorRelease": "3.19", - "variant": "core", - "model": "generic", - "baseImage": "alpine:3.19", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "alpine", - "flavor": "alpine", - "flavorRelease": "3.19", - "variant": "standard", - "model": "rpi4", - "baseImage": "alpine:3.19", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "alpine", - "flavor": "alpine", - "flavorRelease": "3.19", - "variant": "standard", - "model": "rpi3", - "baseImage": "alpine:3.19", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "alpine", - "flavor": "alpine", - "flavorRelease": "3.19", - "variant": "core", - "model": "rpi4", - "baseImage": "alpine:3.19", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "alpine", - "flavor": "alpine", - "flavorRelease": "3.19", - "variant": "core", - "model": "rpi3", - "baseImage": "alpine:3.19", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "rhel", - "flavor": "fedora", - "flavorRelease": "40", - "variant": "standard", - "model": "generic", - "baseImage": "fedora:40", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "rhel", - "flavor": "fedora", - "flavorRelease": "40", - "variant": "core", - "model": "generic", - "baseImage": "fedora:40", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "rhel", - "flavor": "fedora", - "flavorRelease": "40", - "variant": "core", - "model": "generic", - "baseImage": "fedora:40", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "rhel", - "flavor": "fedora", - "flavorRelease": "40", - "variant": "standard", - "model": "generic", - "baseImage": "fedora:40", - "arch": "arm64", - "worker": "ubuntu-24.04-arm" - }, - { - "family": "debian", - "flavor": "debian", - "flavorRelease": "bookworm", - "variant": "standard", - "model": "generic", - "baseImage": "debian:bookworm-slim", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "debian", - "flavor": "debian", - "flavorRelease": "bookworm", - "variant": "core", - "model": "generic", - "baseImage": "debian:bookworm-slim", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "rhel", - "flavor": "rockylinux", - "flavorRelease": "9", - "variant": "standard", - "model": "generic", - "baseImage": "rockylinux:9", - "arch": "amd64", - "worker": "self-hosted" - }, - { - "family": "rhel", - "flavor": "rockylinux", - "flavorRelease": "9", - "variant": "core", - "model": "generic", - "baseImage": "rockylinux:9", - "arch": "amd64", - "worker": "self-hosted" - } -] diff --git a/.github/workflows/image-master-arm.yaml b/.github/workflows/image-master-arm.yaml index dd27ed9ed..fc330cf5e 100644 --- a/.github/workflows/image-master-arm.yaml +++ b/.github/workflows/image-master-arm.yaml @@ -42,7 +42,7 @@ jobs: model: ["generic", "rpi4", "rpi3"] base_image: - "ubuntu:24.04" - - "alpine:3.19" + - "alpine:3.21" build-nvidia-base: runs-on: fast steps: diff --git a/.github/workflows/image-master.yaml b/.github/workflows/image-master.yaml index 3e70cd893..5a4a866f9 100644 --- a/.github/workflows/image-master.yaml +++ b/.github/workflows/image-master.yaml @@ -44,7 +44,7 @@ jobs: - "ubuntu:24.04" - "ubuntu:22.04" - "ubuntu:20.04" - - "alpine:3.19" + - "alpine:3.21" - "opensuse/leap:15.6" - "debian:12" include: @@ -57,7 +57,7 @@ jobs: - base_image: "ubuntu:20.04" kubernetes_distro: "k3s" variant: "standard" - - base_image: "alpine:3.19" + - base_image: "alpine:3.21" kubernetes_distro: "k3s" variant: "standard" - base_image: "opensuse/leap:15.6" @@ -83,6 +83,7 @@ jobs: base_image: ${{ matrix.base_image }} test: ${{ matrix.test }} secureboot: ${{ matrix.secureboot || false}} + release-matcher: ${{ matrix.release-matcher || '' }} variant: "core" arch: "amd64" model: "generic" @@ -94,7 +95,7 @@ jobs: secureboot: [false] base_image: - "ubuntu:24.04" - - "alpine:3.19" + - "alpine:3.21" test: - "custom-partitioning" - "acceptance" @@ -103,6 +104,9 @@ jobs: - "reset" - "upgrade-with-cli" - "upgrade-latest" + exclude: + - test: "upgrade-latest" + base_image: "alpine:3.21" include: - test: "install" secureboot: true @@ -128,6 +132,9 @@ jobs: base_image: "opensuse/leap:15.6" - test: "acceptance" base_image: "debian:12" + - test: "upgrade-latest" + base_image: "alpine:3.21" + release-matcher: "kairos-alpine-3.19-core-amd64-generic-v3.3.1.iso" netboot-tests: name: ${{ matrix.base_image }} uses: ./.github/workflows/reusable-qemu-netboot-test.yaml @@ -143,7 +150,7 @@ jobs: matrix: base_image: - "ubuntu:24.04" - - "alpine:3.19" + - "alpine:3.21" encryption-tests: name: ${{ matrix.base_image }} uses: ./.github/workflows/reusable-encryption-test.yaml diff --git a/.github/workflows/image-pr-arm.yaml b/.github/workflows/image-pr-arm.yaml index 07df8a343..136fab66c 100644 --- a/.github/workflows/image-pr-arm.yaml +++ b/.github/workflows/image-pr-arm.yaml @@ -41,4 +41,4 @@ jobs: arch: ["arm64"] base_image: - "ubuntu:24.04" - - "alpine:3.19" + - "alpine:3.21" diff --git a/.github/workflows/image-pr.yaml b/.github/workflows/image-pr.yaml index 0c80e4fe6..37a81c925 100644 --- a/.github/workflows/image-pr.yaml +++ b/.github/workflows/image-pr.yaml @@ -48,6 +48,7 @@ jobs: base_image: ${{ matrix.base_image }} test: ${{ matrix.test }} secureboot: ${{ matrix.secureboot || false}} + release-matcher: ${{ matrix.release-matcher || '' }} variant: "core" arch: "amd64" model: "generic" @@ -68,6 +69,9 @@ jobs: - "reset" - "upgrade-with-cli" - "upgrade-latest" + exclude: + - test: "upgrade-latest" + base_image: "alpine:3.21" include: - test: "install" secureboot: true @@ -76,6 +80,9 @@ jobs: base_image: "ubuntu:24.04" - test: "bundles" base_image: "ubuntu:24.04" + - test: "upgrade-latest" + base_image: "alpine:3.21" + release-matcher: "kairos-alpine-3.19-core-amd64-generic-v3.3.1.iso" netboot-tests: name: ${{ matrix.base_image }} uses: ./.github/workflows/reusable-qemu-netboot-test.yaml diff --git a/.github/workflows/release-arm.yaml b/.github/workflows/release-arm.yaml index 58fa124ba..5ae7b57ff 100644 --- a/.github/workflows/release-arm.yaml +++ b/.github/workflows/release-arm.yaml @@ -27,7 +27,7 @@ jobs: - "ubuntu:22.04" - "ubuntu:24.04" - "ubuntu:24.10" - - "alpine:3.19" + - "alpine:3.21" - "fedora:40" - "debian:12" - "rockylinux:9" @@ -54,7 +54,7 @@ jobs: - "opensuse/leap:15.6" - "ubuntu:20.04" - "ubuntu:22.04" - - "alpine:3.19" + - "alpine:3.21" with: base_image: ${{ matrix.base_image }} arch: ${{ matrix.arch }} @@ -106,7 +106,7 @@ jobs: - "ubuntu:22.04" - "ubuntu:24.04" - "ubuntu:24.10" - - "alpine:3.19" + - "alpine:3.21" - "fedora:40" - "debian:12" - "rockylinux:9" @@ -137,7 +137,7 @@ jobs: - "opensuse/leap:15.6" - "ubuntu:20.04" - "ubuntu:22.04" - - "alpine:3.19" + - "alpine:3.21" with: base_image: ${{ matrix.base_image }} arch: ${{ matrix.arch }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 53d37529d..15c632f0b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -37,7 +37,7 @@ jobs: - "ubuntu:22.04" - "ubuntu:24.04" - "ubuntu:24.10" - - "alpine:3.19" + - "alpine:3.21" - "fedora:40" - "debian:12" - "rockylinux:9" @@ -161,7 +161,7 @@ jobs: - "ubuntu:22.04" - "ubuntu:24.04" - "ubuntu:24.10" - - "alpine:3.19" + - "alpine:3.21" - "fedora:40" - "debian:12" - "rockylinux:9" diff --git a/.github/workflows/reusable-qemu-test.yaml b/.github/workflows/reusable-qemu-test.yaml index 6edd9963e..e50f4e0fd 100644 --- a/.github/workflows/reusable-qemu-test.yaml +++ b/.github/workflows/reusable-qemu-test.yaml @@ -26,6 +26,11 @@ on: kubernetes_distro: required: false type: string + release-matcher: + description: "The release matcher to use for the latest release. Full regex match" + required: false + type: string + default: "" permissions: read-all jobs: @@ -101,11 +106,18 @@ jobs: name: kairos-${{ steps.split.outputs.flavor }}-${{ steps.split.outputs.flavor_release }}-${{ inputs.variant }}-${{ inputs.arch }}-${{ inputs.model }}${{ inputs.kubernetes_distro != '' && format('-{0}', inputs.kubernetes_distro) || '' }}.iso.zip - name: Download latest release uses: robinraju/release-downloader@v1.11 - if: ${{ inputs.test == 'upgrade-latest' || inputs.test == 'provider-upgrade-latest-k8s-with-kubernetes' }} + if: ${{ inputs.test == 'upgrade-latest' || inputs.test == 'provider-upgrade-latest-k8s-with-kubernetes' && inputs.release-matcher == '' }} with: latest: true fileName: 'kairos-${{ steps.split.outputs.flavor }}-${{ steps.split.outputs.flavor_release }}-${{ inputs.variant }}-${{ inputs.arch }}-${{ inputs.model }}-*.iso' out-file-path: "" + - name: Download latest release with release matcher + uses: robinraju/release-downloader@v1.11 + if: ${{ inputs.test == 'upgrade-latest' || inputs.test == 'provider-upgrade-latest-k8s-with-kubernetes' && inputs.release-matcher != '' }} + with: + latest: true + fileName: ${{ inputs.release-matcher }} + out-file-path: "" - name: Prepare test bundle if: ${{ inputs.test == 'bundles' }} uses: docker/build-push-action@v6 From d0e777b783f3d14c5d0a649d8c688e94e3d0b14b Mon Sep 17 00:00:00 2001 From: Itxaka Date: Wed, 5 Mar 2025 11:47:47 +0100 Subject: [PATCH 3/3] Fix Signed-off-by: Itxaka --- .github/workflows/reusable-qemu-test.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-qemu-test.yaml b/.github/workflows/reusable-qemu-test.yaml index e50f4e0fd..31f167313 100644 --- a/.github/workflows/reusable-qemu-test.yaml +++ b/.github/workflows/reusable-qemu-test.yaml @@ -106,14 +106,14 @@ jobs: name: kairos-${{ steps.split.outputs.flavor }}-${{ steps.split.outputs.flavor_release }}-${{ inputs.variant }}-${{ inputs.arch }}-${{ inputs.model }}${{ inputs.kubernetes_distro != '' && format('-{0}', inputs.kubernetes_distro) || '' }}.iso.zip - name: Download latest release uses: robinraju/release-downloader@v1.11 - if: ${{ inputs.test == 'upgrade-latest' || inputs.test == 'provider-upgrade-latest-k8s-with-kubernetes' && inputs.release-matcher == '' }} + if: ${{ (inputs.test == 'upgrade-latest' || inputs.test == 'provider-upgrade-latest-k8s-with-kubernetes') && inputs.release-matcher == '' }} with: latest: true fileName: 'kairos-${{ steps.split.outputs.flavor }}-${{ steps.split.outputs.flavor_release }}-${{ inputs.variant }}-${{ inputs.arch }}-${{ inputs.model }}-*.iso' out-file-path: "" - name: Download latest release with release matcher uses: robinraju/release-downloader@v1.11 - if: ${{ inputs.test == 'upgrade-latest' || inputs.test == 'provider-upgrade-latest-k8s-with-kubernetes' && inputs.release-matcher != '' }} + if: ${{ (inputs.test == 'upgrade-latest' || inputs.test == 'provider-upgrade-latest-k8s-with-kubernetes') && inputs.release-matcher != '' }} with: latest: true fileName: ${{ inputs.release-matcher }}