Replace the 326-line semantic-release/npm workflow with release-plz, which handles the whole chain the old one only half did: - versioning and CHANGELOG from the conventional commits already in use - a `chore: release vX.Y.Z` PR as the gate; merging it tags and releases - publishes both crates to crates.io in dependency order, waiting for the index between them (RELEASE.md used to ask you to do this by hand) - release-plz.toml keeps the two crates on one version, one tag, one changelog Binaries now cover six targets instead of four. Linux switches from gnu to musl so the downloads are statically linked and stop caring about the host's glibc version; linux-aarch64 and windows-aarch64 are new. Archives carry sha256 checksums plus README and LICENSE. CI drops twelve hand-rolled actions/cache steps for Swatinem/rust-cache.
23 lines
735 B
TOML
23 lines
735 B
TOML
# Both crates inherit `version.workspace`, so they always move together. This
|
|
# config makes release-plz treat them as one release: a single `vX.Y.Z` tag, one
|
|
# GitHub release, one root CHANGELOG.md covering both. release-plz still
|
|
# publishes them to crates.io in dependency order (lib first) and waits for the
|
|
# index, which is what RELEASE.md used to ask you to do by hand.
|
|
|
|
[workspace]
|
|
git_tag_name = "v{{ version }}"
|
|
git_release_name = "v{{ version }}"
|
|
|
|
[[package]]
|
|
name = "soulseek-rs"
|
|
version_group = "workspace"
|
|
changelog_path = "./CHANGELOG.md"
|
|
changelog_include = ["soulseek-rs-lib"]
|
|
|
|
[[package]]
|
|
name = "soulseek-rs-lib"
|
|
version_group = "workspace"
|
|
changelog_update = false
|
|
git_tag_enable = false
|
|
git_release_enable = false
|