Skip to content

build(release): automate package versioning#18

Merged
urjitc merged 2 commits into
mainfrom
codex/automate-package-releases
Jul 26, 2026
Merged

build(release): automate package versioning#18
urjitc merged 2 commits into
mainfrom
codex/automate-package-releases

Conversation

@urjitc

@urjitc urjitc commented Jul 26, 2026

Copy link
Copy Markdown
Member

Summary

  • add a Release Please manifest for one shared SDK and CLI version
  • explicitly dispatch existing CI for bot-created release PR heads
  • verify every version source stays synchronized
  • prepare the breaking hosted-client contract as 0.4.0

Why

The deployed hosted API and published @file_router/sdk@0.3.0 have drifted. The current publisher is safe, but it only runs after somebody manually edits both package versions. This adds the missing automated version-PR boundary while retaining review and the existing npm trusted-publishing workflow.

Changes

  • pin Release Please to an immutable action SHA
  • keep GitHub tags/releases and npm publication owned by the existing publish workflow
  • drive future SemVer bumps from Conventional Commits
  • add version.txt and a manifest, with release verification covering all version sources
  • bump SDK, CLI, and runtime client version to 0.4.0

The organization currently blocks Actions-created pull requests. The workflow is ready, but that organization policy must be enabled before Release Please can open its first automated PR.

Testing

  • pnpm check
  • pnpm test
  • pnpm release:verify

Review Notes

Start with .github/workflows/release-please.yml and release-please-config.json. The publisher remains unchanged.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Automates versioning and creates release PRs with Release Please. Keeps @file_router/sdk, @file_router/cli, and the hosted client in sync and bumps to 0.4.0.

  • New Features

    • Added Prepare release workflow using googleapis/release-please-action@5c625bfb5d1ff62eadeeb3772007f7f66fdcf071 (pinned).
    • Added .release-please-manifest.json and version.txt; extended verification to ensure CLI, manifest, and version file match SDK version.
    • Auto-runs ci.yml on bot-created release PR heads.
    • Drives SemVer from Conventional Commits; existing publisher keeps handling tags/releases and npm.
  • Migration

    • Organization must allow Actions-created pull requests for Release Please to open PRs.

Written for commit 37eb9ae. Summary will update on new commits.

Review in cubic

@cursor

cursor Bot commented Jul 26, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@urjitc, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 35 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ee588661-5aca-4520-bba8-2059e3607164

📥 Commits

Reviewing files that changed from the base of the PR and between b752a14 and 37eb9ae.

📒 Files selected for processing (8)
  • .github/workflows/release-please.yml
  • .release-please-manifest.json
  • packages/cli/package.json
  • packages/filerouter/package.json
  • packages/filerouter/src/hosted.ts
  • release-please-config.json
  • scripts/verify-release-packages.mjs
  • version.txt
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/automate-package-releases

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.

@urjitc
urjitc merged commit 3155a41 into main Jul 26, 2026
10 checks passed
@urjitc
urjitc deleted the codex/automate-package-releases branch July 26, 2026 07:27

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37eb9ae76f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

shell: bash
run: |
head_branch=$(jq --exit-status --raw-output '.headBranchName' <<< "$PR")
gh workflow run ci.yml --ref "$head_branch"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Pass the repository to gh before dispatching CI

When Release Please creates or updates a PR, this step runs in a job that never checks out the repository and does not set GH_REPO, so gh workflow run has no local Git remote from which to determine the target repository and the dispatch fails instead of running CI for the bot-created head. The gh workflow run manual exposes -R, --repo [HOST/]OWNER/REPO for this context; pass --repo "$GITHUB_REPOSITORY" (or set GH_REPO) here so release PR verification actually runs.

Useful? React with 👍 / 👎.

@greptile-apps

greptile-apps Bot commented Jul 26, 2026

Copy link
Copy Markdown

Greptile Summary

Adds Release Please automation for synchronized SDK and CLI version updates while retaining the existing publishing workflow.

  • Introduces a manifest-driven 0.4.0 release configuration.
  • Dispatches CI explicitly for bot-created release pull requests.
  • Extends release verification across package manifests, the Release Please manifest, and version.txt.
  • Updates the SDK, CLI, and hosted-client runtime version to 0.4.0.

Confidence Score: 5/5

The PR appears safe to merge, with the release automation aligned to the existing CI and publishing workflow.

The configured version sources agree, release verification gates the existing publication path, the generated tag format matches the publisher, and no concrete changed-code failure remains.

T-Rex T-Rex Logs

What T-Rex did

  • I inspected the complete command output for the release-package-boundary run to confirm the process finished and produced expected artifacts.
  • I verified that the SDK packaging was created as a release artifact for @file_router/sdk@0.4.0.
  • I verified that the CLI packaging was created as a release artifact for @file_router/cli@0.4.0, pinned to SDK 0.4.0.
  • I confirmed that the artifact metadata and SHA-256 checksums were generated and recorded for all boundary artifacts.

View all artifacts

T-Rex Ran code and verified through T-Rex

Important Files Changed

Filename Overview
.github/workflows/release-please.yml Adds a pinned Release Please workflow and dispatches the existing CI workflow against generated release pull-request branches.
release-please-config.json Configures a single simple release that synchronizes both package manifests, the hosted-client version constant, and version.txt.
scripts/verify-release-packages.mjs Expands release verification to ensure the SDK, CLI, Release Please manifest, and version file agree before existing artifact compatibility checks run.
packages/filerouter/src/hosted.ts Updates the exported runtime version to 0.4.0 and marks it for Release Please’s generic updater.
packages/filerouter/package.json Bumps the published SDK package version to 0.4.0.
packages/cli/package.json Bumps the CLI package version to 0.4.0 in lockstep with the SDK.

Reviews (1): Last reviewed commit: "chore(release): prepare 0.4.0" | Re-trigger Greptile

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