forked from graphql-rust/juniper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.toml
88 lines (71 loc) · 3.59 KB
/
Makefile.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# https://github.com/sagiegurari/cargo-make#automatically-extend-workspace-makefile
[env]
CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = "true"
#
# 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_SKIP_MEMBERS="crate1;crate2;" cargo make release`
# to push a new release of some crates.
#
[tasks.release]
condition = { env_set = [ "RELEASE_LEVEL" ] }
workspace = false
env = { "CARGO_MAKE_WORKSPACE_SKIP_MEMBERS" = "integration_tests/*" }
run_task = { name = "release-INTERNAL", fork = true }
[tasks.release-some]
condition = { env_set = [ "RELEASE_LEVEL", "CARGO_MAKE_WORKSPACE_SKIP_MEMBERS" ] }
workspace = false
env = { "CARGO_MAKE_WORKSPACE_SKIP_MEMBERS" = "integration_tests/*" }
run_task = { name = "release-some-INTERNAL", fork = true }
# Hack to filter out crates we do not want to release.
# See <https://github.com/sagiegurari/cargo-make/issues/212#issuecomment-481123564>
[tasks.release-INTERNAL]
private = true
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_SKIP_MEMBERS="crate1;crate2;" cargo make release-some-dry-run`
# to do a dry run with some crates.
#
[tasks.release-dry-run]
condition = { env_set = [ "RELEASE_LEVEL" ] }
workspace = false
env = { "CARGO_MAKE_WORKSPACE_SKIP_MEMBERS" = "integration_tests/*" }
run_task = { name = "release-dry-run-INTERNAL", fork = true }
[tasks.release-some-dry-run]
condition = { env_set = [ "CARGO_MAKE_WORKSPACE_SKIP_MEMBERS", "RELEASE_LEVEL" ] }
workspace = false
run_task = { name = "release-some-dry-run-INTERNAL", fork = true }
# Hack to filter out crates we do not want to release.
# See <https://github.com/sagiegurari/cargo-make/issues/212#issuecomment-481123564>
[tasks.release-dry-run-INTERNAL]
private = true
condition = { env_set = [ "RELEASE_LEVEL" ] }
env = { "CARGO_MAKE_WORKSPACE_SKIP_MEMBERS" = "integration_tests/*" }
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 do actually make changes locally but
# not push them up to crates.io or Github.
# Run `RELEASE_LEVEL=(patch|major|minor) cargo make release-some-local-test` to do actually make changes locally but
# not push some crates up to crates.io or Github.
#
[tasks.release-local-test]
condition = { env_set = [ "RELEASE_LEVEL" ] }
workspace = false
env = { "CARGO_MAKE_WORKSPACE_SKIP_MEMBERS" = "integration_tests/*" }
run_task = { name = "release-local-test-INTERNAL", fork = true }
[tasks.release-some-local-test]
condition = { env_set = [ "CARGO_MAKE_WORKSPACE_SKIP_MEMBERS", "RELEASE_LEVEL" ] }
workspace = false
run_task = { name = "release-some-local-test-INTERNAL", fork = true }
# Hack to filter out crates we do not want to release.
# See <https://github.com/sagiegurari/cargo-make/issues/212#issuecomment-481123564>
[tasks.release-local-test-INTERNAL]
private = true
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}"]