From 7f5992e3eafe0d271f90e4c3f789451bcbacdc14 Mon Sep 17 00:00:00 2001 From: Antheas Kapenekakis <5252246+antheas@users.noreply.github.com> Date: Wed, 6 Nov 2024 16:55:50 +0100 Subject: [PATCH] chore: gate stable and add promotion action (#1742) --- .github/workflows/build.yml | 2 +- .github/workflows/promote.yml | 62 +++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/promote.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 35a81dda8e..df83376020 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -342,7 +342,7 @@ jobs: BUILD_TAGS+=("stable-${FEDORA_VERSION}") # flip ver to be last if [ -n "$LATEST" ]; then - BUILD_TAGS+=("latest" "stable") + BUILD_TAGS+=("latest" "edge") fi fi diff --git a/.github/workflows/promote.yml b/.github/workflows/promote.yml new file mode 100644 index 0000000000..868501e45f --- /dev/null +++ b/.github/workflows/promote.yml @@ -0,0 +1,62 @@ +name: Promote Edge builds to Stable + +on: + workflow_dispatch: + workflow_call: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref || github.run_id }}-promote + cancel-in-progress: true + +jobs: + promote: + runs-on: ubuntu-24.04 + permissions: + packages: write + + strategy: + fail-fast: false + matrix: + image_name: + - bazzite + - bazzite-nvidia + - bazzite-nvidia-open + - bazzite-gnome + - bazzite-gnome-nvidia + - bazzite-gnome-nvidia-open + - bazzite-deck + - bazzite-deck-gnome + - bazzite-ally + - bazzite-ally-gnome + - bazzite-asus + - bazzite-gnome-asus + - bazzite-asus-nvidia + - bazzite-gnome-asus-nvidia + - bazzite-asus-nvidia-open + - bazzite-gnome-asus-nvidia-open + major_version: [40] + steps: + - name: Login to GHCR + run: echo "${{ secrets.GITHUB_TOKEN }}" | sudo podman login ghcr.io -u ${{ github.actor }} --password-stdin + + # Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR. + # https://github.com/macbre/push-to-ghcr/issues/12 + - name: Lowercase Registry + id: registry_case + uses: ASzc/change-string-case-action@v6 + with: + string: ${{ env.IMAGE_REGISTRY }} + + - name: Push Edge to Stable + uses: Wandalen/wretry.action@v3.5.0 + id: push + env: + REGISTRY_USER: ${{ github.actor }} + REGISTRY_PASSWORD: ${{ github.token }} + with: + attempt_limit: 3 + attempt_delay: 15000 + commands: | + sudo skopeo copy \ + ${{ steps.registry_case.outputs.lowercase }}/${{ matrix.image_name }}:edge \ + ${{ steps.registry_case.outputs.lowercase }}/${{ matrix.image_name }}:stable \ No newline at end of file