Release workflow revision (#1)
test-image / build-image (push) Successful in 46s
test / test (push) Successful in 1m20s

Adds a manual release workflow and ensures images are only published on v* tags

Reviewed-on: #1
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
This commit was merged in pull request #1.
This commit is contained in:
2026-06-16 13:08:10 +00:00
committed by archvillainette
parent f3211f0d45
commit e9d82816b7
3 changed files with 73 additions and 7 deletions
+5 -7
View File
@@ -1,5 +1,6 @@
# Build the Crucible image. PR-first (D7): PRs build only; push to main also
# publishes registry.westgate.pw/deployment/crucible:<git-sha>. Never a mutable tag.
# Publish the immutable crucible:<sha> image on version tags.
# PR/main test builds live in test-image.yml and never publish, so registry
# packages are only generated for releases we intend to use (not on every merge).
#
# Daemonless: the host-mode runner has no container runtime, so the image is
# built by Nix (`nix build .#image`, see flake.nix) and pushed with skopeo
@@ -8,15 +9,14 @@ name: build-image
on:
push:
branches: [main]
pull_request:
tags: ["v*"]
env:
REGISTRY: registry.westgate.pw
IMAGE: deployment/crucible
jobs:
build-image:
publish:
runs-on: nix-docker
steps:
- uses: actions/checkout@v4
@@ -29,9 +29,7 @@ jobs:
- name: Build OCI image (daemonless)
run: nix build .#image
# Publish only on main (post-merge). PRs verify the build but never push.
- name: Publish image
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
env:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}