ceremony/actions/changelog-armed/action.yml
claude-bot-andresmgsl dde6b253f5 feat: actions/changelog-armed — the version-keyed arming guard
Port box's changelog-armed.sh as the first composite action, establishing
the pattern #6 and #7 copy: action.yml passes inputs as env vars, the
co-located script stays directly runnable, and the shared libs are sourced
relative to the action so they travel with it at the consumer's pinned ref.

Port deltas per issue #5: the version goes through version_read (#3) so the
guard works for package-json trees, and the bare-version emptiness check
consults changelog_section (#4) — the guard and the publisher cannot
disagree about what a section is. Messages and the header essay keep the
box#108 / rig#66 / rig#44 / cast#108 history; this is the guard rig and
cast regain at adoption.

CI gains an action-exercise job driving uses: ./actions/changelog-armed
against a scratch armed tree — the composite wiring proven, not just the
script.

Closes #5

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 19:22:31 +00:00

24 lines
833 B
YAML

name: Changelog armed
description: >-
Assert the changelog is armed for the tree's version state — the
version-keyed guard (box#108, rig#66; the unconditional form was reverted
by rig#44 and cast#108). The caller must have checked out its own
repository first: the guard reads the consumer's tree at the workspace.
inputs:
version-source:
description: Where the tree's version lives ("file" or "package-json")
required: false
default: file
changelog:
description: Path to the changelog, relative to the workspace
required: false
default: CHANGELOG.md
runs:
using: composite
steps:
- name: changelog armed
shell: bash
env:
CHANGELOG: ${{ inputs.changelog }}
VERSION_SOURCE: ${{ inputs.version-source }}
run: bash "$GITHUB_ACTION_PATH/changelog-armed.sh"