test: exercise release fixtures fragment-shaped; record the #115/#116 trio interaction

release-exercise.yml's fixture arms with changelog.d/ and stamps through
the real assembler (#112 D12). The assembled suite's trio row expected
changelog-armed green on the dropped-entry tree — true when #116 was
written, false since #115's fragment mode landed after it (main is red at
736733e on exactly this row); the row now asserts the interaction as it
stands, and the hand-edited tree carries the only-red claim.
This commit is contained in:
claude-bot-andresmgsl 2026-07-24 10:27:40 +00:00
parent 566712c690
commit 1e18e7fbe1

View file

@ -87,11 +87,14 @@ jobs:
echo "RELEASE_ASSETS_DIR=$RUNNER_TEMP/release-assets" >> "$GITHUB_ENV" echo "RELEASE_ASSETS_DIR=$RUNNER_TEMP/release-assets" >> "$GITHUB_ENV"
- name: construct the fixture consumer tree and the gh stub - name: construct the fixture consumer tree and the gh stub
# The fixture release.yml's steps run against (below): a base at # The fixture release.yml's steps run against (below): a base at
# 0.6.9-dev with an armed changelog, then the ceremony merge — # 0.6.9-dev armed the fragment way (#112) — changelog.d/ with its
# VERSION bumped bare, Unreleased stamped. Same shape as # marker and one fragment — then the ceremony merge: VERSION bumped
# test/release-chain.test.sh. The gh stub answers the one API fact # bare and the section stamped by the REAL assembler, the command
# the ceremony path consults (the merged release-labeled PR) so # the real ceremony PR runs by hand (#112 D12), so the exercise
# nothing here talks to GitHub. # consumes the tool end to end instead of hand-writing its output.
# Same shape as test/release-chain.test.sh. The gh stub answers the
# one API fact the ceremony path consults (the merged
# release-labeled PR) so nothing here talks to GitHub.
run: | run: |
mkdir -p "$RUNNER_TEMP/stub" mkdir -p "$RUNNER_TEMP/stub"
cat > "$RUNNER_TEMP/stub/gh" <<'EOF' cat > "$RUNNER_TEMP/stub/gh" <<'EOF'
@ -110,31 +113,18 @@ jobs:
cat > CHANGELOG.md <<'EOF' cat > CHANGELOG.md <<'EOF'
# Changelog # Changelog
## Unreleased
- The entry this release ships.
## 0.6.8 — 2026-07-01 ## 0.6.8 — 2026-07-01
- An older entry. - An older entry.
EOF EOF
git add VERSION CHANGELOG.md mkdir changelog.d
printf '# changelog.d/ — assembled at release (heavy-duty/ceremony#112); the marker keeps the directory tracked.\n' > changelog.d/README.md
printf -- '- The entry this release ships.\n' > changelog.d/42.md
git add VERSION CHANGELOG.md changelog.d
git commit -qm "base" git commit -qm "base"
printf '0.7.0\n' > VERSION printf '0.7.0\n' > VERSION
cat > CHANGELOG.md <<'EOF' bash "$CEREMONY_DIR/bin/changelog-assemble" 0.7.0 2026-07-21
# Changelog git add -A
## Unreleased
## 0.7.0 — 2026-07-21
- The entry this release ships.
## 0.6.8 — 2026-07-01
- An older entry.
EOF
git add VERSION CHANGELOG.md
git commit -qm "release: 0.7.0" git commit -qm "release: 0.7.0"
echo "FIXTURE_SHA=$(git rev-parse HEAD)" >> "$GITHUB_ENV" echo "FIXTURE_SHA=$(git rev-parse HEAD)" >> "$GITHUB_ENV"
- name: gather the facts — version, base version, released, labeled - name: gather the facts — version, base version, released, labeled