Skip to content

chore: enforce PR title prefixes for the master feature freeze - #1232

Merged
jm-stakater merged 3 commits into
masterfrom
chore/master-feature-freeze
Sep 29, 2026
Merged

jm-stakater merged 3 commits into
masterfrom
chore/master-feature-freeze

Conversation

@msafwankarim

@msafwankarim msafwankarim commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Problem

master is going into feature freeze while v2 becomes the development branch, but nothing enforces it. Contributors from forks keep opening feature PRs against master. Separately, master's chart version gate compares against the newest chart in the shared Helm repo, so it will break once v2 publishes a stable 3.x chart.

Solution

Change Why
New pr-title.yaml: master accepts only fix: / chore:, v** accepts all conventional types Enforces the freeze. Failing master PRs get one bot comment explaining the freeze and linking the README
Chart gate uses helm search repo stakater/reloader --version '^2' Master stays on 2.x; without the pin 2.2.18 would be compared to 3.0.0 and fail
Enterprise dispatch skips chart-v* releases (ported from v2) A chart release was triggering an enterprise build for a chart tag
Renovate semanticCommits: enabled Renovate PRs become chore(deps): ... and pass the title check
README "Branches and PR titles" section, CLAUDE.md branch policy Where the bot comment points
UBI builder image in pull_request.yaml taken from the highest stable v1.* tag The v2.0.0-beta.1 tag was picked and stripped to v2.0.0, an image that does not exist, so every PR build failed

pr-title.yaml uses pull_request_target so it can comment on fork PRs. It never checks out PR code and the title only reaches the shell through env.

Before/After

Before After
feat: add X into master merges fails, bot comments "retarget to v2"
fix(chart): probe port into master merges passes
Master chart gate after 3.0.0 is published compares to 3.0.0, fails compares to latest 2.x, passes

Companion PR for v2: same pr-title.yaml and README section. After merging, mark semantic-prefix as a required check on both branches.

Add pr-title.yaml: master accepts only fix and chore titles, v2 accepts all conventional types. Failing master PRs get a one time comment pointing to the README.
Pin the master chart version gate to 2.x so it keeps working once v2 publishes a stable 3.x chart.
Skip the enterprise dispatch for chart-v releases.
Enable Renovate semantic commits so its PRs pass the title check.
@github-actions

Copy link
Copy Markdown

✅ Load Test Results (quick)

✅ Load Test Results: ALL TESTS PASSED

🚀 Quick Test (S1, S4, S6) — Use /loadtest for full suite

3/3 passed (100%)

Scenario Description Actions Errors
✅ S1 S1: 143 burst updates, each triggers 1 dep... 143/143 0
✅ S4 S4: 143 no-op updates, all should be skipped 0 0
✅ S6 S6: Restart test - 142 updates during restart 141 0

📦 Download detailed results


Artifacts: Download

Comment thread CLAUDE.md
@github-actions

Copy link
Copy Markdown

✅ Load Test Results (quick)

✅ Load Test Results: ALL TESTS PASSED

🚀 Quick Test (S1, S4, S6) — Use /loadtest for full suite

3/3 passed (100%)

Scenario Description Actions Errors
✅ S1 S1: 143 burst updates, each triggers 1 dep... 143/143 0
✅ S4 S4: 143 no-op updates, all should be skipped 0 0
✅ S6 S6: Restart test - 142 updates during restart 142 0

📦 Download detailed results


Artifacts: Download

@github-actions

Copy link
Copy Markdown

✅ Load Test Results (quick)

✅ Load Test Results: ALL TESTS PASSED

🚀 Quick Test (S1, S4, S6) — Use /loadtest for full suite

3/3 passed (100%)

Scenario Description Actions Errors
✅ S1 S1: 143 burst updates, each triggers 1 dep... 143/143 0
✅ S4 S4: 143 no-op updates, all should be skipped 0 0
✅ S6 S6: Restart test - 142 updates during restart 145 0

📦 Download detailed results


Artifacts: Download

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.

2 participants