Repository navigation
Expand file tree
/
Copy pathMakefile.toml
More file actions
124 lines (108 loc) · 3.81 KB
/
Copy pathMakefile.toml
File metadata and controls
124 lines (108 loc) · 3.81 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
# Use cargo-make to run tasks here: https://crates.io/crates/cargo-make
[config]
skip_core_tasks = true
default_to_workspace = false
[env]
CARGO_BUILD_WARNINGS = "deny"
CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
# Workspace members to exclude when setting `workspace = true` for a task.
# Must live at global env (not task-level) so it's read before workspace iteration
# is generated. Only the `check-external-types` task uses this.
CARGO_MAKE_WORKSPACE_SKIP_MEMBERS = ["bench", "fuzz", "perf", "docs/book"]
[tasks.default]
alias = "dev-flow"
[tasks.dev-flow]
description = "Fast local sub-set of all CI checks"
dependencies = [
"format-check",
"check",
"clippy",
"doc",
"test",
"test-bbr3",
"proptests-extralight",
]
[tasks.format]
description = "Format the rust files following style rules"
command = "cargo"
args = [
"fmt",
"--all",
"--",
"--config",
"unstable_features=true",
"--config",
"imports_granularity=Crate,group_imports=Preserve,reorder_imports=false,format_code_in_doc_comments=true,comment_width=100,wrap_comments=true",
]
[tasks.format-check]
description = "Check the rust files for formatting style"
command = "cargo"
args = [
"fmt",
"--all",
"--check",
"--",
"--config",
"unstable_features=true",
"--config",
"imports_granularity=Crate,group_imports=Preserve,reorder_imports=false,format_code_in_doc_comments=true,comment_width=100,wrap_comments=true",
]
[tasks.check]
description = "Run cargo-check for entire project"
# Allows us to use CARGO_BUILD_WARNINGS instead of
# RUSTFLAGS=-Dwarnings which breaks the build cache.
toolchain = { channel = "stable", min_version = "1.97.0" }
command = "cargo"
args = ["check", "--workspace", "--all-features", "--all-targets"]
[tasks.clippy]
description = "Run cargo-clippy for entire project"
# Allows us to use CARGO_BUILD_WARNINGS instead of
# RUSTFLAGS=-Dwarnings which breaks the build cache.
toolchain = { channel = "stable", min_version = "1.97.0" }
command = "cargo"
args = ["clippy", "--workspace", "--all-features", "--all-targets"]
[tasks.doc]
description = "Check the documentation build"
# Allows us to use CARGO_BUILD_WARNINGS instead of
# RUSTDOCFLAGS=-Dwarnings which breaks the build cache.
toolchain = { channel = "stable", min_version = "1.97.0" }
command = "cargo"
args = ["doc", "--workspace", "--all-features", "--no-deps", "--document-private-items"]
[tasks.test]
description = "Run unit tests"
command = "cargo"
args = [
"nextest",
"run",
"--workspace",
"--all-features",
"--exclude=fuzz",
"--lib",
"--bins",
"--tests",
"--no-fail-fast",
]
[tasks.test-bbr3]
description = "Run BBR3 congestion controller tests"
command = "cargo"
args = ["nextest", "run", "--package=noq-proto", "-P", "bbr3", "--no-fail-fast", "${@}"]
[tasks.proptests-long]
description = "Run proptests with high case count (runs for ~10 minutes)"
command = "cargo"
args = ["nextest", "run", "--locked", "--package=noq-proto", "-P", "proptests", "--cargo-profile=proptests", "--no-fail-fast", "${@}"]
env = { "PROPTEST_CASES" = "100000" }
[tasks.proptests-light]
description = "Run proptests for CI (~1 minute)"
command = "cargo"
args = ["nextest", "run", "--locked", "--package=noq-proto", "-P", "proptests", "--cargo-profile=proptests", "--no-fail-fast", "${@}"]
env = { "PROPTEST_CASES" = "10000" }
[tasks.proptests-extralight]
description = "Run proptests in regression-only mode (runs for <5 seconds)"
command = "cargo"
args = ["nextest", "run", "--package=noq-proto", "-P", "proptests", "--no-fail-fast", "${@}"]
[tasks.check-external-types]
description = "Run cargo check-external-types on workspace crates"
workspace = true
toolchain = "${TOOLCHAIN:nightly-2026-03-20}"
command = "cargo"
args = ["check-external-types", "--locked", "--features", "__all_without_fips"]