Skip to content

fix(ci): use include-component-in-tag for root release-please package#333

Merged
FSM1 merged 1 commit into
mainfrom
fix/release-please-component-in-tag
Mar 23, 2026
Merged

fix(ci): use include-component-in-tag for root release-please package#333
FSM1 merged 1 commit into
mainfrom
fix/release-please-component-in-tag

Conversation

@FSM1

@FSM1 FSM1 commented Mar 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Switches root package to include-component-in-tag: true with component cipher-box
  • Root release tags become cipher-box-v{version} (e.g., cipher-box-v0.26.4)
  • Created cipher-box-v0.26.4 anchor release so release-please can find path .

Root Cause

include-component-in-tag: false is broken in release-please's multi-package release scanner. It creates bare v{version} tags but cannot match them back to path . during release discovery, causing persistent "Missing 1 paths: ." errors and the "untagged merged release PRs outstanding" deadlock.

Changes

  • release-please-config.json: component: "cipher-box", include-component-in-tag: true
  • tag-staging.yml: updated description to reflect new tag format
  • release-gate.yml: looks for cipher-box-v* tags with fallback to legacy v*

Test plan

  • Merge → release-please creates PR with cipher-box-v0.26.5 tag reference
  • Merge release PR → cipher-box-v0.26.5 tag created automatically
  • Run tag-staging-release with cipher-box-v0.26.5

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated release tag naming convention to improve consistency and clarity across deployments.
    • Refined release pipeline discovery logic to align with the new tag format standards.

include-component-in-tag: false is broken in release-please multi-package
mode — the release scanner cannot match bare v{version} tags to path "."
even when the release was created by release-please itself. This caused
persistent "Missing 1 paths: ." errors and tagging deadlocks.

Switch to include-component-in-tag: true with component "cipher-box".
Root package tags become cipher-box-v{version} (e.g., cipher-box-v0.26.4).

Also updates tag-staging.yml description and release-gate.yml to handle
the new tag format with fallback to legacy v* tags.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: e2e8eb7a398d
@coderabbitai

coderabbitai Bot commented Mar 23, 2026

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

This change updates release automation to support component-based tagging. The release gate's tag discovery logic now prioritizes tags matching the cipher-box-v* pattern with fallback to generic v* tags, while release-please configuration is updated to include the component identifier in generated release tags.

Changes

Cohort / File(s) Summary
Release Gate Tag Discovery
.github/workflows/release-gate.yml
Updated detect-changes logic to search for most recent cipher-box-v* tags first; falls back to v* tags (excluding staging and tags containing @) if none found.
Release Please Configuration
release-please-config.json
Changed root package component from empty string to "cipher-box" and enabled include-component-in-tag to include component identifier in generated release tags.
Staging Release Workflow
.github/workflows/tag-staging.yml
Updated workflow_dispatch input description example from v0.3.0 to cipher-box-v0.26.4 to reflect new tag naming format.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • FSM1/cipher-box#252: Modifies the detect-changes job's tag discovery logic in release-gate workflow with similar pattern matching approach.
  • FSM1/cipher-box#307: Updates release-please configuration to include component identifier in PR title pattern, aligning with component-based metadata changes.
  • FSM1/cipher-box#326: Addresses tag naming collisions through release-please configuration and staging tag handling modifications.
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: enabling component inclusion in tags for the root release-please package configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/release-please-component-in-tag

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@FSM1 FSM1 enabled auto-merge (squash) March 23, 2026 05:01
@FSM1 FSM1 merged commit cb749fb into main Mar 23, 2026
15 of 16 checks passed
@FSM1 FSM1 deleted the fix/release-please-component-in-tag branch March 25, 2026 22:42
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