28c116411d
* Switch releasing commands from a blocklist to an allowlist This is much better as we can hardocde the crates to filter out in one place, can selectively release certain crates easily, and only have one command instead of the "-some" hack * get rid of workaround no longer needed * More makefiles
38 lines
1.9 KiB
TOML
38 lines
1.9 KiB
TOML
# https://github.com/sagiegurari/cargo-make#automatically-extend-workspace-makefile
|
|
[env]
|
|
CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = "true"
|
|
CARGO_MAKE_CARGO_ALL_FEATURES = ""
|
|
CARGO_MAKE_WORKSPACE_SKIP_MEMBERS = "integration_tests/*;examples/*;juniper_benchmarks;"
|
|
|
|
|
|
# Run `RELEASE_LEVEL=(patch|major|minor) cargo make release` to push a new release of every crate.
|
|
#
|
|
# Run `RELEASE_LEVEL=(patch|major|minor) CARGO_MAKE_WORKSPACE_INCLUDE_MEMBERS="crate1;crate2;" cargo make release`
|
|
# to push a new release of a subset of crates.
|
|
[tasks.release]
|
|
condition = { env_set = [ "RELEASE_LEVEL" ] }
|
|
command = "cargo-release"
|
|
args = ["release", "--config", "${CARGO_MAKE_WORKING_DIRECTORY}/../_build/release.toml", "${RELEASE_LEVEL}"]
|
|
|
|
|
|
# Run `RELEASE_LEVEL=(patch|major|minor) cargo make release-dry-run` to do a dry run.
|
|
#
|
|
# Run `RELEASE_LEVEL=(patch|major|minor) CARGO_MAKE_WORKSPACE_INCLUDE_MEMBERS="crate1;crate2;" cargo make release-dry-run`
|
|
# to do a dry run of a subset of crates.
|
|
[tasks.release-dry-run]
|
|
condition = { env_set = [ "RELEASE_LEVEL" ] }
|
|
description = "Run `cargo-release --dry-run` for every crate"
|
|
command = "cargo-release"
|
|
args = ["release", "--config", "${CARGO_MAKE_WORKING_DIRECTORY}/../_build/release.toml", "--dry-run", "${RELEASE_LEVEL}"]
|
|
|
|
|
|
# Run `RELEASE_LEVEL=(patch|major|minor) cargo make release-local-test` to actually make changes locally but
|
|
# not push them up to crates.io or Github.
|
|
#
|
|
# Run `RELEASE_LEVEL=(patch|major|minor) CARGO_MAKE_WORKSPACE_INCLUDE_MEMBERS="crate1;crate2;" cargo make release-local-test` to actually make changes locally but
|
|
# not push some crates up to crates.io or Github.
|
|
[tasks.release-local-test]
|
|
condition = { env_set = [ "RELEASE_LEVEL" ] }
|
|
description = "Run `cargo-release` for every crate, but only make changes locally"
|
|
command = "cargo-release"
|
|
args = ["release", "--config", "${CARGO_MAKE_WORKING_DIRECTORY}/../_build/release.toml", "--no-confirm", "--skip-publish", "--skip-push", "--skip-tag", "${RELEASE_LEVEL}"]
|