Repository navigation
Commit 0e4d347
ci(clients): Release the Python and Rust clients separately (#729)
Splits the shared client release into one Craft release per client, each
with its own changelog. A PR that changes both clients now shows up in
both changelogs, and the title scope no longer decides anything.
## What changes
- **Two release units:** `clients/python/.craft.yml` and
`clients/rust/.craft.yml`, with separate tag prefixes (`py-client@` /
`rs-client@`), release branches (`release-py/` / `release-rust/`) and
bump scripts.
- **One release workflow** with a `python`/`rust` input. The Python
build workflow is now `build-python-client.yml`.
- **Changelogs grouped by type** (Breaking, Features, Fixes, Other) in
each client's `.github/release.yml` (two identical copies; Craft only
reads the one next to `.craft.yml`). Other Changes catches everything
else as a patch bump.
- **Per-client changelogs:** `clients/CHANGELOG.md` is split into
`clients/python/CHANGELOG.md` and `clients/rust/CHANGELOG.md` in the new
format. Each keeps only entries for PRs that changed that client's
directory.
- **Two changelog previews**, one per client, reported as checks instead
of PR comments so they don't overwrite each other.
- `AGENTS.md` no longer asks for client scopes.
## Before the first release
Craft finds the previous release from the latest tag with the client's
prefix. Without a starting tag, the first changelog would contain the
whole history. Seed both prefixes at `0.2.10`:
```sh
git tag py-client@0.2.10 0.2.10
git tag rs-client@0.2.10 0.2.10
git push origin py-client@0.2.10 rs-client@0.2.10
```
## Things to know
- A `### Changelog Entry` section applies to every client the PR
touches. If a PR touches both clients but the custom text only makes
sense for one, it shows up in the other changelog too. For example, #704
changed both clients, so its Rust-flavoured entry would also appear in
the Python changelog.
- Changes only in `objectstore-types` still don't show up in the Rust
changelog, as before, because Craft only collects commits under the
client's directory.
- The two previews share one commit status context ("Changelog Preview /
Semver Impact"), so on a PR touching both clients that status shows
whichever ran last. Each job summary is correct.
- GitHub has a single "Latest" release per repo, so the badge moves
between the two clients.
#skip-changelog
---------
Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Co-authored-by: Lorenzo Cian <17258265+lcian@users.noreply.github.com>1 parent c51b60e commit 0e4d347
16 files changed
Lines changed: 768 additions & 471 deletions
File tree
- .github/workflows
- clients
- .github
- python
- .github
- rust
- .github
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
244 | 245 | | |
245 | 246 | | |
246 | 247 | | |
247 | | - | |
| 248 | + | |
248 | 249 | | |
249 | 250 | | |
250 | 251 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
6 | 13 | | |
7 | 14 | | |
8 | 15 | | |
| |||
41 | 48 | | |
42 | 49 | | |
43 | 50 | | |
44 | | - | |
| 51 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | | - | |
79 | | - | |
80 | | - | |
| 78 | + | |
| 79 | + | |
This file was deleted.
0 commit comments