Allows hotfix releases: a v* tag is published if its commit is on mainor on a release/* branch.
The version guard is unchanged (tag == v<brand_version!>).
The ancestry check now loops over origin/main and every origin/release/* branch and prints which one it matched.
Tested locally against real refs: a tag on main passes, a commit only on a release/* branch passes, the same commit on no branch is refused.
Intended use: branch release/<version> from the last release tag, merge fixes into it through PRs (CI runs on them), bump brand_version!, tag on the release branch. A release branch cut from an older tag needs this commit cherry-picked first, because a tag runs the workflow from its own commit.
Allows hotfix releases: a `v*` tag is published if its commit is on `main` **or** on a `release/*` branch.
- The version guard is unchanged (`tag == v<brand_version!>`).
- The ancestry check now loops over `origin/main` and every `origin/release/*` branch and prints which one it matched.
- Tested locally against real refs: a tag on main passes, a commit only on a `release/*` branch passes, the same commit on no branch is refused.
Intended use: branch `release/<version>` from the last release tag, merge fixes into it through PRs (CI runs on them), bump `brand_version!`, tag on the release branch. A release branch cut from an older tag needs this commit cherry-picked first, because a tag runs the workflow from its own commit.
The publish workflow only built a tag whose commit is on main. That keeps
every image tied to reviewed code, but it means production can only get a
fix together with everything that has landed on main since its release.
A tag on a release/* branch is now accepted too. A hotfix branch starts at
an earlier release tag, takes fixes through pull requests into it (so the
code is still reviewed and CI-tested before it is tagged), bumps
brand_version! and is tagged there. The tag must still equal
v<brand_version!>, and the step prints which branch it was found on.
A tag runs the workflow file from its own commit, so a hotfix branch that
starts before this change needs this commit cherry-picked onto it before
its tag is pushed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Allows hotfix releases: a
v*tag is published if its commit is onmainor on arelease/*branch.tag == v<brand_version!>).origin/mainand everyorigin/release/*branch and prints which one it matched.release/*branch passes, the same commit on no branch is refused.Intended use: branch
release/<version>from the last release tag, merge fixes into it through PRs (CI runs on them), bumpbrand_version!, tag on the release branch. A release branch cut from an older tag needs this commit cherry-picked first, because a tag runs the workflow from its own commit.