Skip to content

fix(sync): release tracking finds version tags without the v prefix - #43

Merged
flipvh merged 1 commit into
mainfrom
fix/bare-release-tags
Oct 12, 2026
Merged

flipvh merged 1 commit into
mainfrom
fix/bare-release-tags

Conversation

@flipvh

@flipvh flipvh commented Oct 11, 2026

Copy link
Copy Markdown
Member

pnpm cella analyze and pnpm cella sync failed on every new app with no upstream releases (v*) found. Release tracking is the default, it looked for v* tags, and all 60 cella release tags are bare versions (0.18.1, include-v-in-tag: false). raak and projectcampus both set upstreamTrack: 'branch' by hand to get past it.

What changes

  • A release tag is a version with or without the v prefix. One pattern in src/utils/git.ts serves the latest release, a pinned --ref and the "published upstream" check, which now passes two globs (tags/[0-9]*, tags/v[0-9]*).
  • Component tags (create-cella-0.2.3) and other namespaces (archive/pre-release) still do not count. Git sorts both above every version tag, and both exist in cella.
  • The three error messages and the upstreamTrack doc no longer say (v*).

Checked

  • Two new e2e cases failed before the fix and pass after it: the latest release with a bare tag next to both decoy tags, and a pinned bare --ref whose commit only the tag publishes.
  • pnpm test: 284 passed. pnpm check clean.
  • Run from this branch in an app created with pnpm create @cellajs/cella (0.18.1): analyze with default settings resolves 0.18.1 and completes.

After merge

Release 0.3.3, then cella bumps @cellajs/cli with its lockfile. A new app installs from the template's lockfile, so that bump is what delivers the fix.

Size

Kind Files Added Removed Net
Tests 1 +31 -1 +30
Source 3 +20 -14 +6
Total 4 +51 -15 +36
  • Tests: the two bare-tag cases.
  • Source: +2 code, +3 comment lines. The pattern gets a name and a comment because three callers share it.

🤖 Generated with Claude Code

Cella tags its releases as bare versions (0.18.1), so the default
upstreamTrack 'release' found no release and analyze and sync failed on
every new app. A release tag is now a version with or without the v
prefix, for the latest release, a pinned --ref and the published check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant