Stop tagging releases on the release branch
make release tagged whatever branch it ran on, so a release prepared on release/v<version> got its tag on that branch instead of on development's merge commit. Downstream publish workflows dispatch from the tag ref, so the tag has to sit on the commit that carries the full merge. Co-Authored-By: siGit Code <noreply@sigit.si>
Seto Elkahfi committed
Sep 10, 2026 at 19:20 UTC
2fe8d55c820cc975dfa4f4d39703ab84ae2fcbea
1 file changed
+12
-3
Makefile
+12
-3
@@ -22,11 +22,20 @@ release:
22
@$(MAKE) check-release-versions
23
@release_version=$$(sed -n 's/^version = "\(.*\)"/\1/p' crates/cli/Cargo.toml | head -n 1); \
24
if [ -z "$$release_version" ]; then echo "Unable to determine release version from crates/cli/Cargo.toml"; exit 1; fi; \
25
+ release_branch=$$(git branch --show-current); \
26
git add -A; \
27
git commit -m "Release $$release_version"; \
27
- git tag "v$$release_version"; \
28
- echo "Release $$release_version prepared locally."; \
29
- echo "Next: git push origin development && git push origin v$$release_version"
28
+ if [ "$$release_branch" = "development" ]; then \
29
+ git tag "v$$release_version"; \
30
+ echo "Release $$release_version prepared locally."; \
31
+ echo "Next: git push origin development && git push origin v$$release_version"; \
32
+ else \
33
+ echo "Release $$release_version prepared on $$release_branch (not tagged)."; \
34
+ echo "The tag belongs on development, on the merge commit."; \
35
+ echo "Next: git push origin $$release_branch"; \
36
+ echo " CI green: git checkout development && git merge --no-ff $$release_branch"; \
37
+ echo " then: git tag v$$release_version && git push origin development && git push origin v$$release_version"; \
38
+ fi
39
40
sync-release-metadata:
41
@node ./scripts/sync-release-version.mjs