Skip to content

chore: setup release-please for monorepo packages#24

Open
adnanrhussain wants to merge 1 commit intomainfrom
ahussain/release-please
Open

chore: setup release-please for monorepo packages#24
adnanrhussain wants to merge 1 commit intomainfrom
ahussain/release-please

Conversation

@adnanrhussain
Copy link
Copy Markdown
Contributor

@adnanrhussain adnanrhussain commented Mar 18, 2026

Summary

  • Configures release-please to track two independent packages (sdks/typescript and evals/prompts) instead of a single root package
  • Adds npm publish workflow using OIDC (no token rotation required) that triggers automatically when a TypeScript SDK release is published
  • Syncs package.json version to 0.2.0 to match current manifest; going forward release-please will automatically bump package.json as part of each release PR

Notes

  • Release-please routes commits by files changed — commits touching sdks/typescript/ bump the SDK, evals/prompts/ bumps prompts, anything else triggers no release

TODOs

  • OIDC publishing requires the trusted publisher to be configured on npmjs.com
  • After merging, delete the stale release-please--branches--main branch to let release-please rebuild its state cleanly

@adnanrhussain adnanrhussain force-pushed the ahussain/release-please branch from 34bde42 to ef4696b Compare March 18, 2026 22:49
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

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/typescript and evals/prompts as separate packages.
  • Add a GitHub Actions workflow to publish the TypeScript SDK to npm on release publish events.
  • Bump sdks/typescript package version to 0.2.0 and 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",
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

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

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".

Suggested change
"type": "build",
"type": "build",
"section": "Build System",
"hidden": false
},
{
"type": "deps",

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Check this ☝️

".": "1.0.0"
} No newline at end of file
"sdks/typescript": "0.2.0",
"evals/prompts": "1.2.0"
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

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

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).

Suggested change
"evals/prompts": "1.2.0"
"evals/prompts": "1.3.0"

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Check this ☝️


jobs:
publish:
if: startsWith(github.event.release.tag_name, 'sdks/typescript/')
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

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

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).

Suggested change
if: startsWith(github.event.release.tag_name, 'sdks/typescript/')
if: startsWith(github.event.release.tag_name, 'sdks/typescript-v')

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Check this ☝️

Copy link
Copy Markdown

@czi-fsisenda czi-fsisenda left a comment

Choose a reason for hiding this comment

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

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/')
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Check this ☝️

".": "1.0.0"
} No newline at end of file
"sdks/typescript": "0.2.0",
"evals/prompts": "1.2.0"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Check this ☝️

},
{
"type": "deps",
"type": "build",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Check this ☝️

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.

3 participants