Skip to content

Commit c52a9be

Browse files
committed
👷 switch from cargo-workspaces to cargo-release
- `cargo workspaces` doesn't update properly version of inter-dependencies - `cargp smart-release` is made for per packages release - create a git tag per packages - do not update unmodified packages (I want to keep them sync in term of version,...) - `release-plz` doesn't let choose how to bump the version
1 parent 5966332 commit c52a9be

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

Cargo.toml

+5-2
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,8 @@ opt-level = 3
3939
[profile.dev.package.similar]
4040
opt-level = 3
4141

42-
[workspace.metadata.workspaces]
43-
no_individual_tags = true
42+
[workspace.metadata.release]
43+
pre-release-commit-message = "🚀 (cargo-release) version {{version}}"
44+
tag-prefix = ""
45+
tag-name = "{{prefix}}{{version}}"
46+
tag-message = "🔖 {{version}}"

justfile

+6-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ requirements:
33
cargo binstall cargo-nextest
44
cargo binstall cargo-sort
55
cargo binstall cargo-insta
6-
cargo binstall cargo-workspaces
6+
cargo binstall cargo-release
77
cargo binstall git-cliff
88

99
# Format the code and sort dependencies
@@ -32,10 +32,13 @@ test:
3232
cargo test --doc
3333

3434
changelog:
35-
git-cliff -o CHANGELOG.md
35+
git-cliff -o "CHANGELOG.md"
3636

3737
release *arguments:
38-
cargo ws publish --tag-prefix "" --no-individual-tags --all --message "🔖 %v" {{arguments}}
38+
cargo release --workspace --execute {{arguments}}
39+
# git-cliff could not be used as `pre-release-hook` of cargo-release because it uses tag
40+
git-cliff -o "CHANGELOG.md" --with-commit "📝 update CHANGELOG"
41+
git push
3942

4043
_container *arguments:
4144
if [ -x "$(command -v podman)" ]; then \

0 commit comments

Comments
 (0)