Skip to content

ci: propagate PR-validation triggers to release/v11 (cherry-pick #291)#292

Merged
ChrisonSimtian merged 1 commit into
release/v11from
chore/propagate-ci-triggers-to-release-v11
May 29, 2026
Merged

ci: propagate PR-validation triggers to release/v11 (cherry-pick #291)#292
ChrisonSimtian merged 1 commit into
release/v11from
chore/propagate-ci-triggers-to-release-v11

Conversation

@ChrisonSimtian

Copy link
Copy Markdown
Collaborator

Cherry-pick of #291 onto release/v11, so this branch's protection-required ubuntu-latest status check actually fires on PRs targeting it.

Why this PR exists separately

#291 added release/v* to the pull_request.branches: list on ubuntu-latest.yml and ubuntu-latest-docs.yml. But workflow definitions for pull_request events are read from the base branch's commit at trigger time. So even after #291 merged to main, PRs targeting release/v11 still use release/v11's workflow files — which don't yet have the trigger update.

This PR brings the workflow updates across so release/v11 knows to fire CI on its own PRs going forward.

⚠️ Requires admin-bypass merge

Same chicken-and-egg #291 was solving: release/v11's branch protection requires ubuntu-latest, but until this PR merges, no workflow on release/v11 fires ubuntu-latest on PRs targeting it. So this PR itself will sit BLOCKED with no CI checks.

Chris: this is the one-time admin-bypass. After this merges, all future PRs against release/v11 (including #290, once retriggered) will get CI normally — no more bypasses needed.

To merge: gh pr merge <thispr> --admin --squash or use the UI's "Bypass branch protection" option.

Contents

Pure cherry-pick — identical diff to #291. Four files:

  • .github/workflows/ubuntu-latest.yml — adds release/v* under pull_request.branches
  • .github/workflows/ubuntu-latest-docs.yml — same
  • build/Build.cs — adds ReleaseBranchPattern constant
  • build/Build.CI.GitHubActions.cs — extends OnPullRequestBranches on the ubuntu-latest attribute

Verification (post-merge)

I'll push a no-op commit to #290 to retrigger its workflow run. CI should fire and complete normally on release/v11's now-updated definitions.

🤖 Generated with Claude Code

Branch protection on `release/v11` (applied in #270) requires the
`ubuntu-latest` status check, but `.github/workflows/ubuntu-latest.yml`
and `.github/workflows/ubuntu-latest-docs.yml` only fired on PRs
targeting `main`. Net effect: PRs against `release/v11` had no CI and
got BLOCKED by branch protection waiting for a check that never reported
— a chicken-and-egg that surfaced when #290 (the NB.GV publicReleaseRefSpec
tweak) couldn't merge.

Changes:

- Both workflows now list `main` AND `release/v*` under `pull_request.branches:`.
- `build/Build.cs` gains a `ReleaseBranchPattern = "release/v*"` constant
  alongside `MainBranch`.
- `build/Build.CI.GitHubActions.cs` extends `OnPullRequestBranches` on the
  ubuntu-latest `[GitHubActions]` attribute to include both branches, so
  next time the auto-generator runs it produces the same YAML.

Out of scope: `windows-latest` and `macos-latest` stay `OnPushBranches`
only (post-merge / release validation). They run after merge regardless
of base branch via the push trigger.

After this lands on main, the same workflow files need to be brought
across to `release/v11` (separate PR — same chicken-and-egg until release/v11
also has the updated workflows; will be admin-bypass-merged once).

Refs milestone #13. Unblocks #290.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ChrisonSimtian ChrisonSimtian merged commit 1ca6eeb into release/v11 May 29, 2026
1 check passed
@ChrisonSimtian ChrisonSimtian deleted the chore/propagate-ci-triggers-to-release-v11 branch May 29, 2026 07:08
ChrisonSimtian added a commit that referenced this pull request May 29, 2026
…book + ADR (#276, #277) (#295)

Closes #276 and #277. Captures the full milestone #13 outcome in three
places now that all the moving parts are in production:

CONTRIBUTING.md
- "Where to start" updated: PRs target main, releases ship from
  release/vN, hotfix flow noted.
- "After opening a PR" updated to reflect ubuntu-latest now firing on
  release/v* PRs too (post #291/#292), with the windows/macos parity
  follow-up linked (#293).
- New "Releases" section pointing contributors at the maintainer
  runbook.

docs/branching-and-release.md (new)
- Maintainer reference: branches at a glance, channel taxonomy, full
  step-by-step for cutting a release (gh release create + the env
  approval-gate prompt), hotfix workflow (cherry-pick recipe),
  workflow_dispatch fallback for re-running partial publishes, cutting
  a new release/vN, deprecating an old one, tag-protection ruleset.

docs/adr/0001-release-branch-model.md (new — seeds docs/adr/)
- Architecture Decision Record covering Context (consumer-facing noise
  from auto-release; no hotfix path), Decision (the model), and
  Consequences (positive + negative + neutral). Includes the four
  alternatives we considered and rejected.
- Cites the consumer-pain-first principle (saved as agent memory)
  that drove the cutover timing.
- Status: Accepted. Implementation already shipped.

AGENTS.md
- "Where to look next" links the new branching-and-release.md doc and
  the docs/adr/ directory so AI agents reading the brief discover them.

CHANGELOG.md
- Umbrella entry for milestone #13 under [Unreleased] — 11.0 → Process,
  summarising all sub-issues that landed: #269, #270, #272, #273, #274,
  #275, #291, #292. Per the pattern set in #269's closing comment — one
  consolidated entry rather than nine fragmented per-sub-issue entries.

Refs milestone #13, RFC #267.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant