You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: migrate releases from release-it to Changesets (#61)
* docs: add Changesets migration design spec
Design for replacing release-it with Changesets to fix the recurring
npm/git desync (publish-before-push vs the protected main branch).
Mirrors the dotlottie-web release mechanism, adapted to yarn + npm-only.
* docs: refine Changesets spec per review
Clarify that the 5 required-status-check contexts are the ruleset's
configured list (a subset of ci.yml jobs), and that the inline docs
dispatch must source release fields via `gh release view` since
github.event.release is unavailable on a push trigger.
* docs: add Changesets migration implementation plan
Bite-sized, verifiable tasks to swap release-it for Changesets,
fold in the docs dispatch, ship 0.9.3, and relax branch protection.
* docs: clarify dual-token usage in release docs-dispatch step
* docs: note PR #60 merged and PR #48 notify-docs overlap
* chore: add changesets cli and config
* chore: replace release-it scripts with changesets
* chore: add changeset for ios navigation crash fix
* chore: align changeset config schema to installed 3.1.4
* ci: switch release workflow to changesets
* ci: fold docs notification into release workflow
* docs: document changeset release workflow
* ci: harden release docs-dispatch step (temp payload, guard stdin)
* ci: drop yarn test from release validate
The repo has no test files and `jest` exits 1 without --passWithNoTests;
the existing ci.yml `test` job is an empty placeholder that runs no tests.
Running `yarn test` in the release validate job would fail every release.
Match the original release.yml + ci.yml behavior: lint/typecheck/prepare.
* chore: migrate from release-it to Changesets for versioning and publishing
* fix(ci): add turbo extends for root-as-workspace
Adding "." to `workspaces` (so Changesets can discover the root-published
package) makes Turbo treat the repo root as a workspace package, which
requires its turbo.json to declare `extends: ["//"]`. Without it Turbo
fails with "invalid turbo json / No extends key found", breaking the
build-web CI job. The file keeps its `pipeline` (root config) and adds
`extends` (package config) so it serves both roles.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,16 +87,20 @@ We use [TypeScript](https://www.typescriptlang.org/) for type checking, [ESLint]
87
87
88
88
Our pre-commit hooks verify that the linter and tests pass when committing.
89
89
90
-
### Publishing to npm
90
+
### Releasing
91
91
92
-
We use [release-it](https://github.com/release-it/release-it) to make it easier to publish new versions. It handles common tasks like bumping version based on semver, creating tags and releases etc.
92
+
We use [Changesets](https://github.com/changesets/changesets) to version and publish the package.
93
93
94
-
To publish new versions, run the following:
94
+
When you make a change that should be released, add a changeset in your PR:
95
95
96
96
```sh
97
-
yarn release
97
+
yarn changeset
98
98
```
99
99
100
+
Pick the bump type (patch/minor/major) and write a short summary — this becomes the changelog entry. Commit the generated file under `.changeset/`.
101
+
102
+
Releases are automated: when changesets land on `main`, a bot opens a **"Version Packages"** PR that bumps the version and updates `CHANGELOG.md`. Merging that PR publishes the new version to npm (with provenance), tags it, and creates a GitHub release.
103
+
100
104
### Scripts
101
105
102
106
The `package.json` file contains various scripts for common tasks:
0 commit comments