Skip to content

Conversation

@infiniteregrets
Copy link
Member

Summary

Using a shared tag v{{ version }} caused release-plz to skip publishing packages because it assumed all packages were already released when the tag existed.

Switch to per-package tags {{ package }}-v{{ version }} so each package has its own release tag (e.g., s2-cli-v0.26.0, s2-api-v0.26.0).

Test plan

  • Merge and re-trigger release workflow

🤖 Generated with Claude Code

Using a shared tag `v{{ version }}` caused release-plz to skip
publishing packages because it assumed all packages were already
released when the tag existed.

Switch to per-package tags `{{ package }}-v{{ version }}` so each
package has its own release tag.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@infiniteregrets infiniteregrets merged commit d8059dd into main Jan 29, 2026
6 checks passed
@infiniteregrets infiniteregrets deleted the fix/per-package-tags branch January 29, 2026 00:24
@greptile-apps
Copy link

greptile-apps bot commented Jan 29, 2026

Greptile Overview

Greptile Summary

Changed release-plz git tag format from shared v{{ version }} to per-package {{ package }}-v{{ version }} to fix a critical issue where release-plz would skip publishing individual packages after any package created the shared version tag.

This workspace contains 4 packages (s2-api, s2-lite, s2-cli, s2-common) that can have independent version updates. The previous shared tag format meant that once any package was tagged with v0.26.0, release-plz would incorrectly assume all packages were at that version and skip subsequent publishes. The new per-package format (e.g., s2-api-v0.26.0, s2-lite-v0.26.0) allows each package to be tracked and released independently.

Confidence Score: 5/5

  • This PR is safe to merge with no risk
  • Single-line configuration change that correctly fixes a documented release-plz issue with multi-package workspaces. The change follows release-plz best practices for monorepos and aligns with the PR description. No code logic affected.
  • No files require special attention

Important Files Changed

Filename Overview
release-plz.toml Changed git tag format from shared v{{ version }} to per-package {{ package }}-v{{ version }} to enable independent package releases

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant GH as GitHub Actions
    participant RP as release-plz
    participant Git as Git Repository
    
    Dev->>GH: Push to main branch
    GH->>RP: Trigger release-plz workflow
    
    Note over RP: Analyze workspace packages<br/>(s2-api, s2-lite, s2-cli, s2-common)
    
    RP->>Git: Check existing tags
    
    alt Old behavior (v{{ version }})
        Git-->>RP: Found tag v0.26.0
        Note over RP: Assumes ALL packages at v0.26.0<br/>Skips publishing individual packages
    end
    
    alt New behavior ({{ package }}-v{{ version }})
        Git-->>RP: Found tags:<br/>s2-api-v0.26.0<br/>s2-cli-v0.26.0<br/>Missing: s2-lite-v0.26.0
        Note over RP: Each package checked independently<br/>Can publish s2-lite even if others exist
        RP->>Git: Create tag s2-lite-v0.26.0
        RP->>GH: Publish s2-lite release
    end
    
    Note over RP,Git: Per-package tags enable<br/>independent release tracking
Loading

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