Phase 5: scaffold Crucible (sow-tools) — dispatcher + builder shims, container, PR-first CI, fail-closed (D11, D19).

This commit is contained in:
2026-06-11 20:36:13 +02:00
commit 0d6eb2aeaa
28 changed files with 987 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
# Tag a Crucible release: re-tag the already-built immutable image and attach
# per-platform binary bundles. Tag-gated; never PR-triggered (deploy/release is
# not a PR concern, D7). The :<sha> image from build-image is the source of truth.
name: release
on:
push:
tags:
- "v*"
env:
REGISTRY: registry.westgate.pw
IMAGE: sow/crucible
jobs:
release:
runs-on: docker
container:
image: nixos/nix:latest
steps:
- uses: actions/checkout@v4
with: { fetch-depth: 0 }
- name: Build release binaries
run: |
nix develop --command bash -c '
set -euo pipefail
GOOS=linux GOARCH=amd64 scripts/build-binaries.sh
mkdir -p dist
tar -C bin -czf "dist/crucible-linux-amd64-${GITHUB_REF_NAME}.tar.gz" .
'
- name: Upload release artifacts
uses: actions/upload-artifact@v4
with:
name: crucible-${{ github.ref_name }}
path: dist/*
# TODO(phase-6): re-tag registry.westgate.pw/sow/crucible:<sha> as :<tag>
# and pin it from sow-platform releases/*.yml once the registry is live.