Skip to content

fix(canary): append canary suffix without bumping version - #508

Merged
RetricSu merged 1 commit into
developfrom
agent/deepseek/d8da11e1
Aug 24, 2026
Merged

fix(canary): append canary suffix without bumping version#508
RetricSu merged 1 commit into
developfrom
agent/deepseek/d8da11e1

Conversation

@humble-little-bear

Copy link
Copy Markdown
Collaborator

Summary

The canary release CI currently uses npm version prerelease --preid="canary-$SHORT_COMMIT_ID", which bumps the patch version before appending the canary suffix. For example, on version 0.5.0 it publishes a tag like:

  • 0.5.1-canary-<commitid>.0

This change makes the canary tag not bump the version. It takes the current version and appends the canary suffix directly, so on 0.5.0 it now publishes:

  • 0.5.0-canary-<commitid>

How

Replaced npm version prerelease with:

SHORT_COMMIT_ID=$(git log -1 --pretty=format:%h)
BASE_VERSION=$(node -p "require('./package.json').version")
npm pkg set version="${BASE_VERSION}-canary-${SHORT_COMMIT_ID}"

npm pkg set sets the version field directly without npm-version's bump logic (no patch increment, no trailing .0 build number). npm publish --tag canary consumes the version straight from package.json, verified with a dry-run against a local 0.5.0.

Verification

  • Old behavior (npm version prerelease --preid=canary-abc123): 0.5.0 → 0.5.1-canary-abc123.0
  • New behavior (npm pkg set version=...): 0.5.0 → 0.5.0-canary-abc123 ✓ (publish dry-run accepted)

npm version prerelease bumped the patch version (0.5.0 -> 0.5.1-canary-*.0).
Instead, append the canary suffix directly to the current version so the
canary tag is e.g. 0.5.0-canary-<commitid>.
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: fd5d4d33-9ee2-4204-afbd-8c7e906addfc

📥 Commits

Reviewing files that changed from the base of the PR and between 06b9c2e and f956701.

📒 Files selected for processing (1)
  • .github/workflows/canary-publish.yml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes
    • Canary releases now preserve the existing package version while adding a -canary suffix with a short commit identifier.
    • Prevented unintended automatic version increments during canary publishing.

Walkthrough

The canary publish workflow preserves the existing package version and appends a -canary-<short commit ID> suffix with npm pkg set.

Changes

Canary publishing

Layer / File(s) Summary
Explicit canary version suffix
.github/workflows/canary-publish.yml
The workflow derives BASE_VERSION from package.json and sets the canary version with npm pkg set. It no longer uses npm version prerelease.

Estimated code review effort: 2 (Simple) | ~5 minutes

Merge Risk: ⚪ Minimal · up to f9567

This localized workflow change updates canary version formatting without increasing the package version; no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the canary versioning fix.
Description check ✅ Passed The description directly explains the versioning change, implementation, and verification.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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.

@RetricSu

Copy link
Copy Markdown
Collaborator

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Already reviewed the last commit. Use @coderabbitai full review to rerun a review of the entire changeset.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@RetricSu

Copy link
Copy Markdown
Collaborator

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@RetricSu
RetricSu merged commit 79e666b into develop Aug 24, 2026
7 checks passed
@RetricSu
RetricSu deleted the agent/deepseek/d8da11e1 branch August 24, 2026 07:47
RetricSu added a commit that referenced this pull request Aug 24, 2026
npm version prerelease bumped the patch version (0.5.0 -> 0.5.1-canary-*.0).
Instead, append the canary suffix directly to the current version so the
canary tag is e.g. 0.5.0-canary-<commitid>.

Co-authored-by: humble-little-bear <retric@ckba.build>
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.

2 participants