Skip to content

ci: add release-please for automated releases#73

Merged
gjtorikian merged 3 commits into
mainfrom
ci/add-release-please
Jun 23, 2026
Merged

ci: add release-please for automated releases#73
gjtorikian merged 3 commits into
mainfrom
ci/add-release-please

Conversation

@gjtorikian

@gjtorikian gjtorikian commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add release-please workflow to automate versioning, changelog generation, and npm publishing on merge to main
  • Add release-please-config.json and .release-please-manifest.json (seeded at the current v0.11.0)
  • Update release.yml to use the workflow_call trigger (invoked by release-please) instead of release: [published]
  • Add a Lint PR Title workflow (action-semantic-pull-request) so PR titles follow the Conventional Commits format release-please relies on
  • Mirrors the setup in authkit-tanstack-start#64 and authkit-nextjs (adapted to this repo's npm + .nvmrc tooling rather than pnpm)

How it works

  1. Conventional commits pushed to main trigger release-please
  2. Release-please creates/updates a release PR with the version bump + CHANGELOG
  3. Merging the release PR creates a GitHub release + tag
  4. The publish job invokes release.yml to build and publish to npm via OIDC trusted publishing

Prerequisites

  • SDK_BOT_APP_ID (org variable) and SDK_BOT_PRIVATE_KEY (org secret) are configured and available to this repo
  • npm package configured for OIDC trusted publishing from this repo

🤖 Generated with Claude Code

gjtorikian and others added 3 commits June 23, 2026 12:57
Add a release-please workflow to automate versioning, changelog
generation, and npm publishing on merge to main, mirroring the setup
in authkit-tanstack-start (#64).

- Add release-please-config.json and .release-please-manifest.json
  (seeded at the current v0.11.0)
- Update release.yml to use the workflow_call trigger (invoked by
  release-please) instead of release: [published], and collapse the
  prerelease/release publish steps into a single publish step

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a Lint PR Title workflow using action-semantic-pull-request so PR
titles follow the Conventional Commits format that release-please relies
on for versioning and changelog generation. Mirrors authkit-nextjs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds automated Release Please publishing for the package. The main changes are:

  • Adds a Release Please workflow on pushes to main.
  • Converts the npm publish workflow into a reusable workflow.
  • Adds Release Please config and manifest files.
  • Adds PR title linting for Conventional Commit titles.

Confidence Score: 4/5

The release automation is close, but the manifest baseline needs correction before merging to avoid an incorrect first automated release.

The changed workflows and configuration are limited in scope, and the main issue is isolated to the Release Please manifest version seed.

.release-please-manifest.json

T-Rex T-Rex Logs

What T-Rex did

  • I reproduced the seed version baseline verification, which failed due to a manifest baseline mismatch (0.12.0) versus 0.11.0 in package.json, package-lock.json, and the latest changelog.
  • I validated the pr-title lint wiring by inspecting before and after worktrees; before shows missing workflow and CONTRACT_RESULT=FAIL, after shows the lint workflow present and CONTRACT_RESULT=PASS.
  • I ran the release automation checks, observing the before state with missing release-please config and exit code 1, and the after state with all checks passing and exit code 0, avoiding live publication.

View all artifacts

T-Rex Ran code and verified through T-Rex

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
.release-please-manifest.json:1-3
**Seed current version** The manifest is the baseline Release Please uses as the last released version. This repo's `package.json`, `package-lock.json`, and latest changelog entry are still `0.11.0`, but the new manifest starts at `0.12.0`. When the first automated release runs, Release Please will calculate the next version from `0.12.0`, so the intended first `0.12.x` release can be skipped or mis-versioned.

Reviews (1): Last reviewed commit: "Bump version from 0.11.0 to 0.12.0" | Re-trigger Greptile

Comment on lines +1 to +3
{
".": "0.12.0"
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Seed current version The manifest is the baseline Release Please uses as the last released version. This repo's package.json, package-lock.json, and latest changelog entry are still 0.11.0, but the new manifest starts at 0.12.0. When the first automated release runs, Release Please will calculate the next version from 0.12.0, so the intended first 0.12.x release can be skipped or mis-versioned.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .release-please-manifest.json
Line: 1-3

Comment:
**Seed current version** The manifest is the baseline Release Please uses as the last released version. This repo's `package.json`, `package-lock.json`, and latest changelog entry are still `0.11.0`, but the new manifest starts at `0.12.0`. When the first automated release runs, Release Please will calculate the next version from `0.12.0`, so the intended first `0.12.x` release can be skipped or mis-versioned.

How can I resolve this? If you propose a fix, please make it concise.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

this....is 0.12.0 ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

You're right — package.json is already at 0.12.0, so the manifest is correct. My original comment was wrong; the manifest properly seeds from the current published version. Sorry for the noise!

@gjtorikian gjtorikian merged commit 2d8dacb into main Jun 23, 2026
8 checks passed
@gjtorikian gjtorikian deleted the ci/add-release-please branch June 23, 2026 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants