-
Notifications
You must be signed in to change notification settings - Fork 144
Expand file tree
/
Copy pathMakefile.toml
More file actions
122 lines (96 loc) · 3.34 KB
/
Copy pathMakefile.toml
File metadata and controls
122 lines (96 loc) · 3.34 KB
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
[config]
skip_core_tasks = true
default_to_workspace = false
[tasks.default]
dependencies = ["build-all"]
[tasks.build-all]
command = "cargo"
args = ["build", "--workspace"]
[tasks.test-all]
command = "cargo"
args = ["test", "--workspace"]
[tasks.test-unit]
command = "cargo"
args = ["test", "--lib", "--workspace"]
[tasks.test-integration]
command = "cargo"
args = ["test", "--test", "*", "--workspace"]
[tasks.lint]
command = "cargo"
args = ["clippy", "--workspace", "--", "-D", "warnings"]
[tasks.format]
command = "cargo"
args = ["fmt", "--all"]
[[tasks.format.commands]]
command = "cargo"
args = ["fmt", "--all", "--check"]
[tasks.clean]
command = "cargo"
args = ["clean"]
[tasks.deploy-local]
command = "bash"
args = ["scripts/deploy.sh"]
[tasks.coverage]
command = "cargo"
args = ["tarpaulin", "--workspace", "--out", "Html"]
[[tasks.coverage.commands]]
command = "echo"
args = ["Install tarpaulin: cargo install cargo-tarpaulin"]
condition = "failure"
[tasks.audit]
command = "cargo"
args = ["audit"]
[[tasks.audit.commands]]
command = "echo"
args = ["Install cargo-audit: cargo install cargo-audit"]
condition = "failure"
[tasks.docs]
dependencies = ["docs-build", "docs-open"]
[tasks.docs-build]
command = "cargo"
args = ["doc", "--workspace", "--no-deps"]
[tasks.docs-open]
command = "open"
args = ["target/doc/propchain_contract/index.html"]
platform = "mac"
[tasks.setup]
command = "bash"
args = ["scripts/setup.sh"]
# ── Build ──────────────────────────────────────────────────────────────────
[tasks.build]
description = "Build all workspace crates"
command = "cargo"
args = ["build", "--workspace"]
[tasks.test]
description = "Run all workspace tests"
command = "cargo"
args = ["test", "--workspace"]
[tasks.check]
description = "Check all workspace crates without producing artifacts"
command = "cargo"
args = ["check", "--workspace"]
[tasks.clippy]
description = "Run clippy lints across workspace"
command = "cargo"
args = ["clippy", "--workspace", "--", "-D", "warnings"]
# ── Development ────────────────────────────────────────────────────────────
[tasks.dev-watch]
description = "Hot-reload: rebuild + retest on file changes in contracts/ and tests/"
script = ["./scripts/dev-watch.sh"]
[tasks.dev-watch-contract]
description = "Hot-reload for a single contract (set CONTRACT=<name>)"
script = ["CONTRACT=${CONTRACT:-} ./scripts/dev-watch.sh"]
# ── Changelog ─────────────────────────────────────────────────────────────
[tasks.generate-changelog]
description = "Generate CHANGELOG.md from conventional commits using git-cliff"
script = [
"if ! command -v git-cliff &>/dev/null; then cargo install git-cliff --locked; fi",
"git-cliff --config cliff.toml --output CHANGELOG.md",
"echo 'CHANGELOG.md updated'",
]
[tasks.generate-changelog-unreleased]
description = "Preview unreleased changes without writing to CHANGELOG.md"
script = [
"if ! command -v git-cliff &>/dev/null; then cargo install git-cliff --locked; fi",
"git-cliff --config cliff.toml --unreleased",
]