forked from heavy-duty/ceremony
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>
24 lines
833 B
YAML
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"
|