Context
The current release process documented in CONTRIBUTING.md uses yarn bump:version (= lerna version), which:
- Bumps versions in all
package.json files.
- Commits, tags, and pushes directly to
main in one shot.
- The tag push triggers
.github/workflows/release.yml → lerna publish from-package to npm.
This worked for v1.0.0 (2026-04-15) but an org-level ruleset added 2026-04-27 ("Public repo required PRs") now blocks direct pushes to main. Every change must go through a PR with at least one review approval. Tag pushes are not blocked, but the version-bump commit can no longer be pushed to main directly.
For v1.1.0 we are using a manual workaround: branch + lerna version --no-git-tag-version + PR + merge + tag main HEAD locally + push tag. This works but is error-prone and adds friction.
Proposal
Migrate to release-please:
- Conventional commits (which we already follow per CONTRIBUTING.md) drive the version bump.
- A bot maintains an automated "chore(release): X.Y.Z" PR with version bumps and CHANGELOG entries.
- Merging that PR creates the tag and triggers npm publish.
- No direct pushes to
main — fully compatible with the ruleset.
This aligns with the faro-web-sdk sibling project, which is also migrating to release-please.
Acceptance criteria
References
Context
The current release process documented in CONTRIBUTING.md uses
yarn bump:version(=lerna version), which:package.jsonfiles.mainin one shot..github/workflows/release.yml→lerna publish from-packageto npm.This worked for v1.0.0 (2026-04-15) but an org-level ruleset added 2026-04-27 ("Public repo required PRs") now blocks direct pushes to
main. Every change must go through a PR with at least one review approval. Tag pushes are not blocked, but the version-bump commit can no longer be pushed tomaindirectly.For v1.1.0 we are using a manual workaround: branch +
lerna version --no-git-tag-version+ PR + merge + tag main HEAD locally + push tag. This works but is error-prone and adds friction.Proposal
Migrate to release-please:
main— fully compatible with the ruleset.This aligns with the
faro-web-sdksibling project, which is also migrating to release-please.Acceptance criteria
release-please-config.jsonand.release-please-manifest.jsonconfigured for the monorepo packages (packages/react-native,packages/react-native-tracing).release.yml(npm publish on tag push) still works with release-please-created tags. Adjust if needed.CONTRIBUTING.md.bump:versionscript in the rootpackage.json.References