# 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", "--execute", "${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", "--no-confirm", "--no-publish", "--no-push", "--no-tag", "${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", "${RELEASE_LEVEL}"]