Skip to content

Commit c7a07af

Browse files
committed
Update publishing page in the book with automation details
1 parent b9419bb commit c7a07af

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

book/src/publishing.md

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,30 @@ The following crates get published to crates.io:
66
- `chalk-derive`
77
- `chalk-engine`
88
- `chalk-ir`
9+
- `chalk-recursive`
910
- `chalk-solve`
1011

1112
The following crates get versioned without publishing:
1213
- `chalk-parse`
1314
- `chalk-integration`
1415
- `chalk` (root directory)
1516

16-
## Pre-publish
17-
- Remove the `-dev` suffix from the versions in each `cargo.toml`
18-
- Bump the dependency version for each crate
19-
- Change the `Unreleased` section in `RELEASES.md` to the version getting published
20-
- Create commit
17+
## Release Automation
18+
Releases are fully automated. Once a week (Sunday at midnight UTC) a GitHub
19+
Actions job is executed which generates the changelog, bumps crate versions, and
20+
publishes the crates. If there have not been any changes since the last version,
21+
the release is skipped. However, if the job is manually triggered then the
22+
release will be published even if there are no changes.
2123

22-
## Publishing
23-
- For each crate in the order above, run `cargo publish`
24-
- You will probably have to wait a couple seconds between each to let the index update
24+
The release pipeline is located in [`publish.yml`].
2525

26-
## Post-publish
27-
- Bump the minor version in each `cargo.toml` and add a `-dev` suffix
28-
- Bump the dependency version for each crate
29-
- Add an `Unreleased` section in the `RELEASES.md`
30-
- Run `cargo check`
31-
- Tag release commit on github (e.g. `v0.10.0`)
26+
[`publish.yml`]: https://github.com/rust-lang/chalk/blob/master/.github/workflows/publish.yml
3227

28+
### Changelog Generation
29+
The changelog is generated using [`auto-changelog`] and is stored in
30+
[`RELEASES.md`]. The template used for the changelog is in
31+
[`releases-template.hbs`].
32+
33+
[`auto-changelog`]: https://www.npmjs.com/package/auto-changelog
34+
[`RELEASES.md`]: https://github.com/rust-lang/chalk/blob/master/RELEASES.md
35+
[`releases-template.hbs`]: https://github.com/rust-lang/chalk/blob/master/releases-template.hbs

0 commit comments

Comments
 (0)