From f25dd094fda3d9ec647c5f572c64334dfa115b70 Mon Sep 17 00:00:00 2001 From: tranch Date: Wed, 28 Oct 2026 08:59:24 +0800 Subject: Enable unstable image release channel --- .github/workflows/build.yml | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 745cca4..15dcf74 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,7 @@ on: - main - testing - testing-candidate + - unstable #schedule: # - cron: '05 10 * * *' # 10:05am UTC everyday workflow_dispatch: @@ -95,15 +96,28 @@ jobs: - name: Generate Version and Tags id: gen-version env: - BASE_IMAGE: ${{ vars.BASE_IMAGE || 'ghcr.io/ublue-os/bazzite-deck:stable-44.20261026' }} + BASE_IMAGE_VAR: ${{ vars.BASE_IMAGE }} run: | set -euo pipefail + if [[ "${GITHUB_REF_NAME}" == "unstable" ]]; then + BASE_IMAGE="ghcr.io/ublue-os/bazzite-deck:testing-45.20261027.3" + else + BASE_IMAGE="${BASE_IMAGE_VAR:-ghcr.io/ublue-os/bazzite-deck:stable-44.20261026}" + fi + echo "Using BASE_IMAGE=${BASE_IMAGE}" + echo "BASE_IMAGE=${BASE_IMAGE}" >> "$GITHUB_ENV" + sudo podman pull "${BASE_IMAGE}" FEDORA_VERSION=$(sudo podman run --rm --entrypoint /usr/bin/rpm "${BASE_IMAGE}" -E %fedora) VERSION_BASE="${FEDORA_VERSION}.$(date +%Y%m%d)" - if [[ "${GITHUB_REF_NAME}" == "testing-candidate" ]]; then + if [[ "${GITHUB_REF_NAME}" == "unstable" ]]; then + DEFAULT_TAG="unstable" + VERSION_TAG="unstable-${VERSION_BASE}" + VERSION_PRETTY_PREFIX="Unstable" + IMAGE_BRANCH="unstable" + elif [[ "${GITHUB_REF_NAME}" == "testing-candidate" ]]; then DEFAULT_TAG="testing-candidate" VERSION_TAG="testing-candidate-${VERSION_BASE}" VERSION_PRETTY_PREFIX="Testing candidate" @@ -129,11 +143,14 @@ jobs: VERSION_TAG="${VERSION_TAG}.${build}" fi - VERSION_BASE_PRETTY="${VERSION_TAG#testing-candidate-}" + VERSION_BASE_PRETTY="${VERSION_TAG#unstable-}" + VERSION_BASE_PRETTY="${VERSION_BASE_PRETTY#testing-candidate-}" VERSION_BASE_PRETTY="${VERSION_BASE_PRETTY#testing-}" VERSION_PRETTY="${VERSION_PRETTY_PREFIX} (F${VERSION_BASE_PRETTY})" - if [[ "${GITHUB_REF_NAME}" == "testing-candidate" ]]; then + if [[ "${GITHUB_REF_NAME}" == "unstable" ]]; then + ALIAS_TAGS="${VERSION_TAG} unstable unstable-${FEDORA_VERSION}" + elif [[ "${GITHUB_REF_NAME}" == "testing-candidate" ]]; then ALIAS_TAGS="${VERSION_TAG} testing-candidate testing-candidate-${FEDORA_VERSION}" elif [[ "${GITHUB_REF_NAME}" == "testing" ]]; then ALIAS_TAGS="${VERSION_TAG} testing testing-${FEDORA_VERSION}" @@ -162,7 +179,6 @@ jobs: id: build-image env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - BASE_IMAGE: ${{ vars.BASE_IMAGE || 'ghcr.io/ublue-os/bazzite-deck:stable-44.20261026' }} FLATPAK_REMOTE_URL: ${{ vars.FLATPAK_REMOTE_URL }} HOMEBREW_BOTTLE_DOMAIN: ${{ vars.HOMEBREW_BOTTLE_DOMAIN }} HOMEBREW_API_DOMAIN: ${{ vars.HOMEBREW_API_DOMAIN }} @@ -243,14 +259,14 @@ jobs: # They publish default-branch builds and manual testing branch builds. - name: Login to GitHub Container Registry uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0 - if: github.event_name != 'pull_request' && (github.ref_name == github.event.repository.default_branch || github.ref_name == 'testing' || github.ref_name == 'testing-candidate') + if: github.event_name != 'pull_request' && (github.ref_name == github.event.repository.default_branch || github.ref_name == 'testing' || github.ref_name == 'testing-candidate' || github.ref_name == 'unstable') with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Push To GHCR - if: github.event_name != 'pull_request' && (github.ref_name == github.event.repository.default_branch || github.ref_name == 'testing' || github.ref_name == 'testing-candidate') + if: github.event_name != 'pull_request' && (github.ref_name == github.event.repository.default_branch || github.ref_name == 'testing' || github.ref_name == 'testing-candidate' || github.ref_name == 'unstable') id: push-image env: ALIAS_TAGS: ${{ steps.gen-build-tags.outputs.alias_tags }} @@ -291,14 +307,14 @@ jobs: # to consume. For more details, review the image signing section of the README. - name: Install Cosign uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2 - if: github.event_name != 'pull_request' && (github.ref_name == github.event.repository.default_branch || github.ref_name == 'testing' || github.ref_name == 'testing-candidate') + if: github.event_name != 'pull_request' && (github.ref_name == github.event.repository.default_branch || github.ref_name == 'testing' || github.ref_name == 'testing-candidate' || github.ref_name == 'unstable') # https://github.com/containers/container-libs/issues/388 with: cosign-release: 'v2.6.3' - name: Sign container image id: sign-image - if: github.event_name != 'pull_request' && (github.ref_name == github.event.repository.default_branch || github.ref_name == 'testing' || github.ref_name == 'testing-candidate') + if: github.event_name != 'pull_request' && (github.ref_name == github.event.repository.default_branch || github.ref_name == 'testing' || github.ref_name == 'testing-candidate' || github.ref_name == 'unstable') env: COSIGN_EXPERIMENTAL: false COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }} @@ -313,7 +329,8 @@ jobs: if: github.event_name != 'pull_request' && (github.ref_name == github.event.repository.default_branch || github.ref_name == 'testing' || - github.ref_name == 'testing-candidate') + github.ref_name == 'testing-candidate' || + github.ref_name == 'unstable') permissions: contents: write packages: read -- cgit v1.2.3