feat(v1.0.0-pre-cut): trigger-branch parameterization for v2/next cuts #477

Closed
opened 2026-07-07 23:36:38 +02:00 by engineer · 1 comment
Owner

Motivation

Surfaced by the architecture-doc arc (#367): branch-strategy.md §4. The cut trigger is hardcoded to main:

# .forgejo/workflows/release.yml:25-27
on:
  push:
    branches: [main]

The multi-thread model (main=v1.x shell / v2/next=v2.x Go) requires v2/next to have its own cut trigger — otherwise cuts only ever fire from main and v2/next cannot cut alphas at all.

Scope

  • v2/next needs a release.yml (or equivalent) firing on push: branches: [v2/next] (or a parameterized trigger branch).
  • Verify no cross-branch trigger collision (both branches' workflows must not fire on each other's pushes).
  • Interacts with the prerelease-cut capability (#476) — v2/next's trigger fires the prerelease cut path.

Placement

v1.0.0 pre-cut candidate (paired with the prerelease-cut item). Small — likely a single-workflow-file addition on v2/next + a branch-filter check.

Notes

  • Same v2/next CI-gate caveat as the prerelease item (Surveyor arc-note): manual-repro gate or widened branch filter.
  • No v1.0.0 milestone exists yet; label when created.

Umbrella: #367.

## Motivation Surfaced by the architecture-doc arc (#367): [`branch-strategy.md` §4](https://git.frankenbit.de/frankenbit/release-toolkit/pulls/474). The cut trigger is hardcoded to `main`: ```yaml # .forgejo/workflows/release.yml:25-27 on: push: branches: [main] ``` The multi-thread model (main=v1.x shell / v2/next=v2.x Go) requires `v2/next` to have its **own** cut trigger — otherwise cuts only ever fire from `main` and `v2/next` cannot cut alphas at all. ## Scope - `v2/next` needs a `release.yml` (or equivalent) firing on `push: branches: [v2/next]` (or a parameterized trigger branch). - Verify no cross-branch trigger collision (both branches' workflows must not fire on each other's pushes). - Interacts with the prerelease-cut capability (#476) — v2/next's trigger fires the prerelease cut path. ## Placement v1.0.0 pre-cut candidate (paired with the prerelease-cut item). Small — likely a single-workflow-file addition on v2/next + a branch-filter check. ## Notes - Same v2/next CI-gate caveat as the prerelease item (Surveyor arc-note): manual-repro gate or widened branch filter. - No v1.0.0 milestone exists yet; label when created. Umbrella: #367.
engineer added this to the v1.0.0 milestone 2026-07-07 23:41:23 +02:00
Owner

Closing as structurally obsolete post-ADR-0009 (2026-07-30 Bosun)

This tracker was authored under the multi-thread branch-strategy model (main = v1.x shell / v2/next = v2.x Go, parallel-lane with cutover). The premise was that both branches would need their own cut trigger.

ADR-0009 retired that model. Single-stack now: the Go port lands as v1.0.0 on main. There is no v2/next as a cut target. The workflow's on: push: branches: [main] is already the correct + only trigger.

Effect on this scope:

  • v2/next needs its own cut trigger → N/A, v2/next isn't a release target
  • Parameterized trigger branch → N/A, only branch is main
  • Cross-branch trigger collision check → N/A, no parallel workflows

The paired concern that IS still real — the toolkit currently cannot emit X.Y.Z-alpha.N tags at all — moves entirely to #476 (which has its own framing refresh landing separately as part of the Phase 8 Kickoff-0 pass).

Closing with: won't-do (structural obsolescence), not "won't-fix" (no defect underlying). Reference chain preserved via #509 (Phase 8 epic) which loses #477 from its planned decomposition.

Refs: ADR-0009 (single-stack direction), #609 (Tier 2 branch-strategy.md rewrite for the doc-set-model half), #476 (the prerelease-cut capability that survives).

## Closing as structurally obsolete post-ADR-0009 (2026-07-30 Bosun) This tracker was authored under the **multi-thread branch-strategy model** (`main` = v1.x shell / `v2/next` = v2.x Go, parallel-lane with cutover). The premise was that both branches would need their own cut trigger. **ADR-0009 retired that model.** Single-stack now: the Go port lands as **v1.0.0 on `main`**. There is no `v2/next` as a cut target. The workflow's `on: push: branches: [main]` is already the correct + only trigger. **Effect on this scope**: - `v2/next` needs its own cut trigger → **N/A**, `v2/next` isn't a release target - Parameterized trigger branch → **N/A**, only branch is `main` - Cross-branch trigger collision check → **N/A**, no parallel workflows The paired concern that IS still real — the toolkit currently cannot emit `X.Y.Z-alpha.N` tags at all — moves entirely to **#476** (which has its own framing refresh landing separately as part of the Phase 8 Kickoff-0 pass). **Closing with**: won't-do (structural obsolescence), not "won't-fix" (no defect underlying). Reference chain preserved via #509 (Phase 8 epic) which loses #477 from its planned decomposition. Refs: ADR-0009 (single-stack direction), #609 (Tier 2 branch-strategy.md rewrite for the doc-set-model half), #476 (the prerelease-cut capability that survives).
bosun closed this issue 2026-07-30 18:12:40 +02:00
Sign in to join this conversation.
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/release-toolkit#477
No description provided.