refactor(workflows)!: rename the floating tag to workflows-v0 - #146
Merged
Merged
Conversation
metalwarrior665
requested review from
JuanGalilea and
ruocco-l
as code owners
September 22, 2026 11:35
ruocco-l
approved these changes
Sep 22, 2026
ruocco-l
left a comment
Contributor
There was a problem hiding this comment.
Two nits on verbosity, but other than that it's fine
The package releases from this repo as `v0.9.0`, `v0.8.6` and so on, so a bare `v0` sat in the same namespace as a package version and read like one. `v1` beside a package `v1.0.0` would have been worse. This is a readability change and nothing more. It does NOT make the release flow safer, which is worth stating because it looks like it should. git-cliff parses every tag as semver and aborts on one that isn't; `workflows-v0` aborts exactly as `v0` did (`unexpected character 'w'`), and it also matches an unanchored `v[0-9]+` since it contains `v0`. Both names survive only because apify/actions/git-cliff-release ships `tag_pattern = "v[0-9]+\."`, whose trailing dot excludes them. Nothing is broken today: the master run after `v0` was created computed 0.9.1 and published correctly, and `--bumped-version` gives v0.10.0 for the next stable. So CONTRIBUTING now records the constraint instead of engineering around it: that the tag is skipped only because of that pattern, that a release failing with the semver error means the pattern changed rather than anything here being wrong, and that the prefix protects nobody but the reader. Owning a repo-local cliff config would remove the dependency, at the price of maintaining the 115 lines and 21 commit-parser rules that define the changelog format — not worth it for a pattern whose dot looks deliberate, since bare major tags are the Actions convention. Also records that the "Nothing to release" guard no longer fires: it uses raw `git describe --tags --abbrev=0`, which ignores tag_pattern and resolves to the floating tag, so an empty stable release now fails at npm publish instead of erroring cleanly. Free to do now because no consumer has repointed yet. After merge the old `v0` tag has to be deleted by hand; nothing removes it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SkUZADZ6gzWW4GE6CFMreM
metalwarrior665
force-pushed
the
claude/repo-merge-actions-package-ep3lzw
branch
from
September 22, 2026 12:47
40ab324 to
0cf16c8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Renames the floating workflow tag
v0→workflows-v0, and writes down the constraint that actually governs it.Why
The package releases from this repo as
v0.9.0,v0.8.6and so on (15 such tags). A barev0sat in that same namespace and read like a package version. A futurev1beside a packagev1.0.0would have been worse.Free to do right now because no consumer has repointed to
v0yet. After repos migrate, renaming is a flag day.What this does not do
It does not make releases safer, which is worth stating because it looks like it should.
git-cliff— which computes the next package version — parses every tag as semver and aborts on one that isn't. Tested:workflows-v0aborts exactly asv0did (unexpected character 'w'), and it also matches an unanchoredv[0-9]+because it containsv0. Both names survive only becauseapify/actions/git-cliff-releaseshipstag_pattern = "v[0-9]+\.", whose trailing dot excludes them.Nothing is broken today. The master run after
v0was created computed0.9.1and published correctly, and--bumped-versiongivesv0.10.0for the next stable.So rather than engineering around it, CONTRIBUTING now records:
workflows-prefix protects the reader, not the toolinggit describe --tags --abbrev=0, which ignorestag_patternand resolves to the floating tag, so an empty stable release now fails atnpm publishinstead of erroring cleanlyOwning a repo-local
cliff.tomlwould genuinely remove the dependency, but it means maintaining 115 lines and 21 commit-parser rules that define the changelog format — disproportionate for a pattern whose dot looks deliberate, since bare major tags are the standard Actions convention.After merge
The master-push job creates
workflows-v0on its own. The oldv0tag must then be deleted by hand — nothing removes it, and leaving it keeps both the confusion and the git-cliff exposure alive:Verification
check-major-tag-refs.mjspasses, and still fails when one ref is left at@v0check-package-version-bump.mjs, lint, type-check, build, 222 tests, prettier — all greenclaude-code-action@v1,setup-node@v5, …) untouched🤖 Generated with Claude Code
https://claude.ai/code/session_01SkUZADZ6gzWW4GE6CFMreM
Generated by Claude Code