grafana / grafana/faro-react-native-sdk
Migrate release flow to release-please
- Dominant language
- TypeScript
- Stars
- 9
- Forks
- 4
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 9
Description
## Context
The current release process documented in [CONTRIBUTING.md](https://github.com/grafana/faro-react-native-sdk/blob/main/CONTRIBUTING.md#release-process) uses `yarn bump:version` (= `lerna version`), which:
1. Bumps versions in all `package.json` files.
2. Commits, tags, and **pushes directly to `main`** in one shot.
3. 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](https://github.com/googleapis/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`](https://github.com/grafana/faro-web-sdk) sibling project, which is also migrating to release-please.
## Acceptance criteria
- [ ] Add `release-please-config.json` and `.release-please-manifest.json` configured for the monorepo packages (`packages/react-native`, `packages/react-native-tracing`).
- [ ] Add a release-please GitHub Actions workflow that maintains the release PR.
- [ ] Verify `release.yml` (npm publish on tag push) still works with release-please-created tags. Adjust if needed.
- [ ] Update the "Release Process" section in `CONTRIBUTING.md`.
- [ ] Remove or deprecate the `bump:version` script in the root `package.json`.
- [ ] Smoke-test with a patch release.
## References
- release-please docs: https://github.com/googleapis/release-please
- Sibling project: https://github.com/grafana/faro-web-sdk
Contributor guide
Assessment
This issue has not been assessed yet.