diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ba3f5b4a98..1a78e34c64 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -343,7 +343,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..daaf7a5d66 --- /dev/null +++ b/.github/workflows/promote.yml @@ -0,0 +1,69 @@ +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 + 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: + + # 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: Pull Image (Edge tag) + uses: Wandalen/wretry.action@v3.5.0 + id: pull + with: + attempt_limit: 3 + attempt_delay: 15000 + commands: | + sudo podman pull ${{ steps.registry_case.outputs.lowercase }}/${{ matrix.image_name }}:edge + + - name: Push To GHCR + uses: Wandalen/wretry.action@v3.5.0 + id: push + env: + REGISTRY_USER: ${{ github.actor }} + REGISTRY_PASSWORD: ${{ github.token }} + with: + action: redhat-actions/push-to-registry@v2 + attempt_limit: 3 + attempt_delay: 15000 + with: | + image: ${{ matrix.image_name }} + tags: stable + registry: ${{ steps.registry_case.outputs.lowercase }} + username: ${{ env.REGISTRY_USER }} + password: ${{ env.REGISTRY_PASSWORD }} \ No newline at end of file