Skip to content

Restore the master guard on the release workflow - #3027

Merged
tanem merged 1 commit into
masterfrom
restore-release-branch-guard
Aug 8, 2026
Merged

Restore the master guard on the release workflow#3027
tanem merged 1 commit into
masterfrom
restore-release-branch-guard

Conversation

@tanem

@tanem tanem commented Aug 8, 2026

Copy link
Copy Markdown
Owner

The pre-migration release.yml carried if: github.ref == 'refs/heads/master'. The move to tanem/release-action dropped it, because the locked fleet workflow shape does not carry one. That was a silent regression rather than a decision, and this restores it.

The guard looks redundant at first glance — the cron only ever fires on the default branch — until you notice that workflow_dispatch can target any branch. Without the guard, dispatching the release against a version branch would bump, tag and publish that branch to npm as latest, shipping exactly the major that was being staged away from master on purpose. Note that restricting ci.yml's branch filter would not close this: dispatch reaches any branch regardless of what CI builds.

57c2502b widened ci.yml to build v* branches so that staging work there is possible, which is what makes the hole reachable. No v* branch exists on this repo today, so nothing has shipped wrongly.

react-svg and svg-injector keep the same guard through their in-flight migrations, so all three agree once those land. The locked shape in the decision spec still lacks it, which is worth fixing before the generator starts stamping new fleet repos.

The pre-migration workflow carried `if: github.ref ==
'refs/heads/master'`. Moving to tanem/release-action dropped it, because
the locked fleet workflow shape does not carry one. That was a silent
regression, not a decision.

The cron only ever fires on the default branch, so the guard looks
redundant until you notice workflow_dispatch can target any branch.
Without it, dispatching the release against a version branch bumps,
tags, and publishes that branch to npm as latest — shipping a major that
was deliberately being staged away from master.

`57c2502b` widened ci.yml to build v* branches precisely so that staging
work there is possible, which is what makes the hole reachable. No v*
branch exists on this repo today, so nothing has shipped wrongly.

react-svg and svg-injector keep the same guard through their migrations,
so all three now agree. The locked shape in the decision spec still
lacks it; ticket 09 will otherwise stamp the same hole into every new
fleet repo.
@tanem tanem added the internal label Aug 8, 2026
@tanem
tanem merged commit 852edc9 into master Aug 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant