The 250-line release.yml becomes the caller stub (version-source: package-json — the backend's first exercise); the prebuilt-asset build moves into .github/actions/release-artifact/ per ceremony#9's hook contract (setup-node moves into the hook — the shared workflow is node-free). labels.yml becomes its caller; the panel and cast's six scope rows extract into .github/labels.conf (data only — the parser refuses comment lines). ci.yml swaps the guard script steps for the pinned actions and adds changelog-armed (cast regains the guard reverted in cast#108) and docs-sync. The four shared scripts die; test/labels-reconcile.sh dies with the reconciler it sourced (machinery test files go whole — rig #13's rule). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
24 lines
1.2 KiB
YAML
24 lines
1.2 KiB
YAML
name: release
|
|
# The ceremony moved upstream (heavy-duty/ceremony — the doctrine is its
|
|
# README; ceremony#15 is this conversion). Both doors — merge and tag push —
|
|
# live in the reusable workflow this caller pins; cast keeps only what a
|
|
# called workflow cannot define (triggers and permissions) plus its one
|
|
# genuinely local piece: the prebuilt-asset build, now the artifact hook at
|
|
# .github/actions/release-artifact/, which both doors invoke.
|
|
# Triggers and permissions MUST live here (a called workflow cannot define them):
|
|
on:
|
|
# ONE push key, both filters — YAML maps are last-key-wins; a second sibling
|
|
# `push:` silently replaces the first and kills a door (rig's review catch).
|
|
push:
|
|
tags: ["**"] # every tag — a wrong tag must FAIL the assert loudly,
|
|
# never be skipped by a shape filter that didn't match
|
|
branches: [main]
|
|
permissions:
|
|
contents: write # tag ref create + release create + the bump push
|
|
pull-requests: write # decide's label read; the bump-fallback `gh pr create`
|
|
issues: write # --label on that fallback PR rides the issues API
|
|
jobs:
|
|
release:
|
|
uses: heavy-duty/ceremony/.github/workflows/release.yml@0.1.0
|
|
with:
|
|
version-source: package-json
|