chore(release): v0.10.0 #126

Merged
alex merged 1 commit from release-prep/rolling into main 2026-06-26 18:32:59 +02:00
Member

Added

  • publish_mode default flips draft → immediate (ADR-0003 amendment)

Changed

publish_mode default shifted: draftimmediate (closes the v0.9.1 sprint per operator framing).

Per operator audience-framing 2026-06-26: "someone just wanting to have automated releases based on CC will probably be happy to have as little friction as possible, while the one actually taking care of the clean process will have probably not that many issues with adding another configuration value to his repo to flip the releases from auto-publish to draft-first."

Behavior change

Before After
Default publish_mode: draft → cuts create a draft release; operator clicks Publish in the Forgejo UI (ADR-0003 Gate-3) Default publish_mode: immediate → cuts publish directly; no Gate-3 click

The opt-in path is preserved: set publish_mode: 'draft' on the workflow_call to restore the v0.8.1+ behavior. ADR-0003 amended to note the default-shift while preserving Gate-3 as a substrate primitive.

What changed in code

  • _release.yml workflow_call publish_mode input default: 'draft''immediate'
  • _release.yml bash fallback: ${PUBLISH_MODE_INPUT:-draft}${PUBLISH_MODE_INPUT:-immediate}
  • release.yml consumer template workflow_dispatch input default: 'draft''immediate'
  • draft-release.sh bash fallback: ${PUBLISH_MODE:-draft}${PUBLISH_MODE:-immediate}
  • docs/adr/0003-multi-stage-operator-gate.md: Amendment 2026-06-26 section
  • docs/integration.md: documents the new default + opt-in path
  • tests/draft-release.bats: two tests flipped to assert immediate-as-default

bats coverage

321/321 green. The default-assertion tests (#114 publish_mode: defaults to... + draft-release: dry-run extracts body + constructs correct API payload) updated to expect draft:false / publish_mode: immediate. Explicit PUBLISH_MODE=draft opt-in tests unchanged + still pass.

Refs

  • Closes: v0.9.1 sprint (task #451)
  • Operator engagement 2026-06-26: audience-framing argument for default-shift
  • ADR-0003 amendment: Gate-3 preserved as opt-in primitive; only the default position shifted
  • Sibling: #114 (the original publish_mode mechanism), v0.8.1 sprint #119 (introduced configurable publish_mode)
### Added - publish_mode default flips draft → immediate (ADR-0003 amendment) ### Changed **`publish_mode` default shifted: `draft` → `immediate`** (closes the v0.9.1 sprint per operator framing). Per operator audience-framing 2026-06-26: "someone just wanting to have automated releases based on CC will probably be happy to have as little friction as possible, while the one actually taking care of the clean process will have probably not that many issues with adding another configuration value to his repo to flip the releases from auto-publish to draft-first." ## Behavior change | Before | After | |---|---| | Default `publish_mode: draft` → cuts create a draft release; operator clicks Publish in the Forgejo UI (ADR-0003 Gate-3) | Default `publish_mode: immediate` → cuts publish directly; no Gate-3 click | The opt-in path is preserved: set `publish_mode: 'draft'` on the workflow_call to restore the v0.8.1+ behavior. ADR-0003 amended to note the default-shift while preserving Gate-3 as a substrate primitive. ## What changed in code - `_release.yml` workflow_call `publish_mode` input default: `'draft'` → `'immediate'` - `_release.yml` bash fallback: `${PUBLISH_MODE_INPUT:-draft}` → `${PUBLISH_MODE_INPUT:-immediate}` - `release.yml` consumer template workflow_dispatch input default: `'draft'` → `'immediate'` - `draft-release.sh` bash fallback: `${PUBLISH_MODE:-draft}` → `${PUBLISH_MODE:-immediate}` - `docs/adr/0003-multi-stage-operator-gate.md`: Amendment 2026-06-26 section - `docs/integration.md`: documents the new default + opt-in path - `tests/draft-release.bats`: two tests flipped to assert immediate-as-default ## bats coverage 321/321 green. The default-assertion tests (`#114 publish_mode: defaults to...` + `draft-release: dry-run extracts body + constructs correct API payload`) updated to expect `draft:false` / `publish_mode: immediate`. Explicit `PUBLISH_MODE=draft` opt-in tests unchanged + still pass. ## Refs - **Closes**: v0.9.1 sprint (task #451) - **Operator engagement 2026-06-26**: audience-framing argument for default-shift - **ADR-0003 amendment**: Gate-3 preserved as opt-in primitive; only the default position shifted - **Sibling**: [#114](https://git.frankenbit.de/frankenbit/release-toolkit/issues/114) (the original publish_mode mechanism), [v0.8.1 sprint #119](https://git.frankenbit.de/frankenbit/release-toolkit/pulls/119) (introduced configurable publish_mode)
forgejo-actions force-pushed release-prep/rolling from 99085ce2c9
All checks were successful
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 5s
manifest-check / check (pull_request) Successful in 0s
to 65eaf5ace8
Some checks failed
release / decide + act (push) Failing after 5s
release / release (push) Failing after 0s
2026-06-26 18:27:26 +02:00
Compare
alex approved these changes 2026-06-26 18:32:57 +02:00
alex merged commit 65eaf5ace8 into main 2026-06-26 18:32:59 +02:00
alex deleted branch release-prep/rolling 2026-06-26 18:33:00 +02:00
Sign in to join this conversation.
No description provided.