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
Replace semantic-release with changesets for explicit PR-level version management. Contributors now add a changeset file per PR; the Changesets Release workflow handles version bumps and GitHub releases.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+38-2Lines changed: 38 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,11 +20,47 @@ npm run knip
20
20
21
21
1. Update the relevant documentation with details of changes to the interface, this includes new environment
22
22
variables, exposed ports, useful file locations and container parameters.
23
-
2. Increase the version numbers in any examples files and the README.md to the new version that this
24
-
Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
23
+
2. Follow the versioning and changeset process described in [Releases & Versioning](#releases--versioning).
25
24
3. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
26
25
do not have permission to do that, you may request the second reviewer to merge it for you.
27
26
27
+
## Releases & Versioning
28
+
29
+
This project uses [Changesets](https://github.com/changesets/changesets) for version management.
30
+
31
+
### For contributors
32
+
33
+
Every pull request that changes behavior, adds a feature, or fixes a bug **must include a changeset file**. The CI `changeset-check` job will fail if no changeset is present.
34
+
35
+
To add a changeset:
36
+
37
+
```bash
38
+
npx changeset
39
+
```
40
+
41
+
This interactive prompt will ask you to:
42
+
1. Select the bump type: `major`, `minor`, or `patch`
43
+
2. Write a short summary of the change (this becomes the changelog entry)
44
+
45
+
The command creates a file in `.changeset/` — commit it with your PR.
46
+
47
+
### Docs-only PRs (no release)
48
+
49
+
If your PR only updates documentation and should not affect versioning, add an empty changeset:
50
+
51
+
```bash
52
+
npx changeset --empty
53
+
```
54
+
55
+
Commit the generated `.changeset/*.md` file with your PR. This satisfies CI without producing a version bump or changelog entry.
56
+
57
+
### Release process
58
+
59
+
1. Changesets accumulate as PRs are merged to `main`
60
+
2. The `Changesets Release` workflow automatically opens a **"Version Packages"** PR that aggregates all pending changesets, bumps `package.json`, and updates `CHANGELOG.md`
61
+
3. When a maintainer merges the Version Packages PR, the workflow publishes a GitHub release and creates the corresponding git tag
62
+
4. The Docker image is then automatically built and pushed to GHCR via the `release.yml` workflow
0 commit comments