-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmise.toml
More file actions
144 lines (117 loc) · 4.15 KB
/
Copy pathmise.toml
File metadata and controls
144 lines (117 loc) · 4.15 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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
[settings]
windows_default_inline_shell_args = "pwsh -NoProfile -NonInteractive -Command"
[tools]
git-cliff = "latest"
# cargo-nextest and cargo-llvm-cov installed via taiki-e/install-action in CI
# or cargo install locally; mise's cargo backend conflicts with dtolnay/rust-toolchain
[env]
CARGO_TERM_COLOR = "always"
# Build
[tasks.build]
alias = ["b", "bd"]
description = "Build workspace"
run = "cargo build --workspace"
run_windows = "cargo build --workspace"
[tasks."build:release"]
alias = "br"
description = "Build workspace (release)"
run = "cargo build --workspace --release"
run_windows = "cargo build --workspace --release"
[tasks."build:bin"]
description = "Build empack binary"
run = "cargo build -p empack"
run_windows = "cargo build -p empack"
# Run
[tasks.run]
alias = ["r", "rd"]
description = "Run empack"
run = "cargo run -p empack --"
run_windows = "cargo run -p empack --"
[tasks."run:release"]
alias = "rr"
description = "Run empack (release)"
run = "cargo run -p empack --release --"
run_windows = "cargo run -p empack --release --"
# Test
[tasks.test]
alias = "t"
depends = ["build:bin"]
description = "Run unit + integration tests (excludes E2E)"
run = "cargo nextest run -p empack-lib --features test-utils -p empack-tests -E 'not test(~e2e_)'"
run_windows = "cargo nextest run -p empack-lib --features test-utils -p empack-tests -E 'not test(~e2e_)'"
[tasks.e2e]
alias = "e"
depends = ["build:bin"]
description = "Run E2E tests"
run = "cargo nextest run -p empack-tests -E 'test(~e2e_)'"
run_windows = "cargo nextest run -p empack-tests -E 'test(~e2e_)'"
[tasks."e2e:filter"]
alias = "fe"
depends = ["build:bin"]
description = "Run filtered E2E tests"
usage = 'arg "filter" help="nextest filter expression"'
run = """
cargo nextest run -p empack-tests -E 'test(~{{arg(name="filter")}})'
"""
run_windows = """
cargo nextest run -p empack-tests -E 'test(~{{arg(name="filter")}})'
"""
[tasks."smoke:import:pr"]
depends = ["build:bin"]
description = "Run the platform-selected PR import smoke profile"
run = "python3 scripts/import-smoke-test.py --profile pr"
run_windows = "python scripts/import-smoke-test.py --profile pr"
[tasks."smoke:import:curated"]
depends = ["build:bin"]
description = "Run the full curated import smoke suite"
run = "python3 scripts/import-smoke-test.py --profile curated"
run_windows = "python scripts/import-smoke-test.py --profile curated"
# Coverage
[tasks.coverage]
alias = "cov"
description = "Run coverage (unit + E2E with instrumented binary + telemetry)"
run = """
cargo llvm-cov clean --workspace
cargo llvm-cov --no-report run -p empack --features telemetry -- version
cargo llvm-cov --no-clean nextest --workspace --features test-utils,telemetry --lcov --output-path lcov.info
"""
run_windows = """
cargo llvm-cov clean --workspace
cargo llvm-cov --no-report run -p empack --features telemetry -- version
cargo llvm-cov --no-clean nextest --workspace --features test-utils,telemetry --lcov --output-path lcov.info
"""
# Lint
[tasks.check]
alias = "chk"
description = "Run cargo check"
run = "cargo check --workspace --all-targets"
run_windows = "cargo check --workspace --all-targets"
[tasks.clippy]
alias = "lint"
description = "Run cargo clippy"
run = "cargo clippy --workspace --all-targets -- -D warnings"
run_windows = "cargo clippy --workspace --all-targets -- -D warnings"
# Profiling
[tasks.profile]
alias = "p"
description = "Run with Perfetto trace profiling"
run = """
EMPACK_PROFILE=chrome cargo run -p empack --features telemetry -- "$@"
echo "Trace written to trace-*.json; open at https://ui.perfetto.dev"
"""
[tasks."profile:otlp"]
description = "Run with OTLP export (requires collector at localhost:4318)"
run = "EMPACK_PROFILE=otlp cargo run -p empack --features telemetry -- \"$@\""
[tasks."profile:samply"]
depends = ["build:release"]
description = "Run under samply sampling profiler (release build)"
run = "samply record ./target/release/empack \"$@\""
[tasks."profile:all"]
description = "Run with all telemetry layers enabled"
run = "EMPACK_PROFILE=all cargo run -p empack --features telemetry -- \"$@\""
# Maintenance
[tasks.clean]
alias = "c"
description = "Remove build artifacts"
run = "cargo clean"
run_windows = "cargo clean"