Skip to content

Use bazelisk-valid version scheme 8.6.0-figmaN - #4

Merged
alexeagle merged 1 commit into
masterfrom
figma-release-rc-versioning
Jun 22, 2026
Merged

Use bazelisk-valid version scheme 8.6.0-figmaN#4
alexeagle merged 1 commit into
masterfrom
figma-release-rc-versioning

Conversation

@alexeagle

Copy link
Copy Markdown

Follow-up to #3. The first published release (8.6.0-figma.1) builds fine but Bazelisk can't consume it:

$ USE_BAZEL_VERSION=figma/8.6.0-figma.1 bazel --version
could not resolve the version '8.6.0-figma.1' to an actual version number: invalid version '8.6.0-figma.1'

Root cause

Bazelisk validates the version string against a fixed grammar. The only pattern that allows a custom suffix is the patch pattern ^(\d+\.\d+\.\d+)-([\w\d]+)$: a mandatory hyphen after x.y.z, then [A-Za-z0-9_]+no dots. Verified against the real regexes:

candidate result
8.6.0-figma.1 ❌ invalid (the dot)
8.6.0figma1 ❌ invalid (no hyphen)
8.6.0-figma1 ✅ valid (patch pattern)

Fix

Switch the auto-counter to the dot-free form <base>-figma<N> (8.6.0-figma1, 8.6.0-figma2, …). This keeps "figma" in the version, is bazelisk-valid, and avoids the confusing literal rc. Renamed the resolved embed_label output → version (it's now the release version, tag, asset segment, and --embed_label all at once).

Consumers pin with:

USE_BAZEL_VERSION=figma/8.6.0-figma1

Notes

🤖 Generated with Claude Code

The first published release tagged `8.6.0-figma.1` could not be consumed:

  could not resolve the version '8.6.0-figma.1' to an actual version
  number: invalid version '8.6.0-figma.1'

Bazelisk only accepts a custom version suffix via its "patch" grammar
`^(\d+\.\d+\.\d+)-([\w\d]+)$`: a mandatory hyphen after x.y.z, then
letters/digits/underscore only — no dots. So `8.6.0-figma.1` (dot) and
`8.6.0figma1` (no hyphen) are both rejected; `8.6.0-figma1` is valid.

Switch the counter to the dot-free form `<base>-figma<N>` (8.6.0-figma1,
8.6.0-figma2, ...). Rename the resolved `embed_label` output to `version`
since it is now the actual release version, tag, asset segment, and
--embed_label. Consumers pin with USE_BAZEL_VERSION=figma/8.6.0-figma1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@alexeagle
alexeagle merged commit d0d83ae into master Jun 22, 2026
3 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