chore: setup release-please for monorepo packages#24
chore: setup release-please for monorepo packages#24adnanrhussain wants to merge 1 commit intomainfrom
Conversation
34bde42 to
ef4696b
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
Configures release-please for a monorepo setup with independent releases for the TypeScript SDK and prompts package, and adds an npm publish workflow intended to run on SDK releases.
Changes:
- Update release-please config/manifest to manage
sdks/typescriptandevals/promptsas separate packages. - Add a GitHub Actions workflow to publish the TypeScript SDK to npm on release publish events.
- Bump
sdks/typescriptpackage version to0.2.0and add an npm version badge to the SDK README.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
sdks/typescript/package.json |
Sync SDK version to 0.2.0. |
sdks/typescript/README.md |
Add npm version badge. |
release-please-config.json |
Switch to per-package release configuration (node/simple) and update changelog section mappings. |
.release-please-manifest.json |
Replace root manifest entry with per-package versions. |
.github/workflows/publish-typescript-sdk.yml |
Add npm publish workflow triggered by GitHub Release publish events. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| }, | ||
| { | ||
| "type": "deps", | ||
| "type": "build", |
There was a problem hiding this comment.
In the changelog section mapping, commit type build is labeled as the "Dependencies" section. This is confusing because dependency updates are commonly tagged deps/chore(deps) (and build usually reads as build-system changes). Consider either renaming the section to reflect build changes, or reintroducing a dedicated deps section and mapping it to "Dependencies".
| "type": "build", | |
| "type": "build", | |
| "section": "Build System", | |
| "hidden": false | |
| }, | |
| { | |
| "type": "deps", |
| ".": "1.0.0" | ||
| } No newline at end of file | ||
| "sdks/typescript": "0.2.0", | ||
| "evals/prompts": "1.2.0" |
There was a problem hiding this comment.
The manifest pins evals/prompts at 1.2.0, but evals/prompts/CHANGELOG.md already contains a 1.3.0 entry (and the TS SDK changelog references prompts v1.3.0). If 1.3.0 is the current released state, release-please will compute the next prompts release/tag incorrectly. Align the manifest version with the latest released prompts version (or revert/update the prompts changelog if 1.3.0 hasn’t been released).
| "evals/prompts": "1.2.0" | |
| "evals/prompts": "1.3.0" |
|
|
||
| jobs: | ||
| publish: | ||
| if: startsWith(github.event.release.tag_name, 'sdks/typescript/') |
There was a problem hiding this comment.
The publish job filter checks for tags starting with sdks/typescript/, but release-please tags are typically generated with a hyphenated prefix (e.g., sdks/typescript-v0.2.0) and/or the configured component (e.g., typescript-sdk-v0.2.0). As written, this condition is likely to never match, so the SDK won’t publish on release. Update the prefix to match the actual tag format produced by your release-please configuration (or adjust the release-please component/tag settings to emit the expected prefix).
| if: startsWith(github.event.release.tag_name, 'sdks/typescript/') | |
| if: startsWith(github.event.release.tag_name, 'sdks/typescript-v') |
czi-fsisenda
left a comment
There was a problem hiding this comment.
Looks good overall! Apart from the copilot comments. Those look like valid concerns.
Approving, but you should check and address those before pushing.
|
|
||
| jobs: | ||
| publish: | ||
| if: startsWith(github.event.release.tag_name, 'sdks/typescript/') |
| ".": "1.0.0" | ||
| } No newline at end of file | ||
| "sdks/typescript": "0.2.0", | ||
| "evals/prompts": "1.2.0" |
| }, | ||
| { | ||
| "type": "deps", | ||
| "type": "build", |
Summary
sdks/typescriptandevals/prompts) instead of a single root package0.2.0to match current manifest; going forward release-please will automatically bump package.json as part of each release PRNotes
sdks/typescript/bump the SDK,evals/prompts/bumps prompts, anything else triggers no releaseTODOs
release-please--branches--mainbranch to let release-please rebuild its state cleanly