summaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
authortranch <tranch.xiao@gmail.com>2026-07-13 00:26:39 +0800
committertranch <tranch.xiao@gmail.com>2026-07-13 00:26:39 +0800
commit81027c19c3f10e64d095e74b1e3387e8daf4e15f (patch)
tree7ab16a118cb9700901c622538938ab351a57079f /.github/workflows/build.yml
parent78bc16acebffcffcb5e544139cb4c5169f652985 (diff)
downloadAeroCore-OS-81027c19c3f10e64d095e74b1e3387e8daf4e15f.tar.gz
AeroCore-OS-81027c19c3f10e64d095e74b1e3387e8daf4e15f.zip
Publish manual testing image tags
Allow manually dispatched testing branch builds to publish and sign both the moving testing tag and a dated testing tag.
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml28
1 files changed, 18 insertions, 10 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1a7f7d4..e542a89 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -51,7 +51,11 @@ jobs:
- name: Default Tag
id: gen-default-tag
run: |
- DEFAULT_TAG=$(just generate-default-tag)
+ if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" && "${GITHUB_REF_NAME}" == "testing" ]]; then
+ DEFAULT_TAG="testing-$(date -u +%Y%m%d)"
+ else
+ DEFAULT_TAG=$(just generate-default-tag)
+ fi
echo "DEFAULT_TAG=${DEFAULT_TAG}" >> $GITHUB_ENV
@@ -96,9 +100,13 @@ jobs:
- name: Generate Build Tags
id: gen-build-tags
run: |
- alias_tags="$(just generate-build-tags \
- ${IMAGE_NAME} \
- ${DEFAULT_TAG})"
+ if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" && "${GITHUB_REF_NAME}" == "testing" ]]; then
+ alias_tags="testing ${DEFAULT_TAG}"
+ else
+ alias_tags="$(just generate-build-tags \
+ ${IMAGE_NAME} \
+ ${DEFAULT_TAG})"
+ fi
echo "Tags for this Action..."
echo "${alias_tags}"
@@ -114,18 +122,18 @@ jobs:
"${DEFAULT_TAG}" \
"${ALIAS_TAGS}"
- # These `if` statements are so that pull requests for your custom images do not make it publish any packages under your name without you knowing
- # They also check if the runner is on the default branch so that things like the merge queue (if you enable it), are going to work
+ # These `if` statements keep pull requests from publishing packages.
+ # They publish default-branch builds and manual testing branch builds.
- name: Login to GitHub Container Registry
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
- if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
+ if: github.event_name != 'pull_request' && (github.ref == format('refs/heads/{0}', github.event.repository.default_branch) || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/testing'))
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push To GHCR
- if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
+ if: github.event_name != 'pull_request' && (github.ref == format('refs/heads/{0}', github.event.repository.default_branch) || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/testing'))
id: push-image
env:
ALIAS_TAGS: ${{ steps.gen-build-tags.outputs.alias_tags }}
@@ -145,14 +153,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 == format('refs/heads/{0}', github.event.repository.default_branch)
+ if: github.event_name != 'pull_request' && (github.ref == format('refs/heads/{0}', github.event.repository.default_branch) || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/testing'))
# 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 == format('refs/heads/{0}', github.event.repository.default_branch)
+ if: github.event_name != 'pull_request' && (github.ref == format('refs/heads/{0}', github.event.repository.default_branch) || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/testing'))
env:
COSIGN_EXPERIMENTAL: false
COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }}