-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
134 lines (111 loc) · 3.78 KB
/
Cargo.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
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
[workspace]
resolver = "2"
members = [
"crates/abq_cli",
"crates/abq_hosted",
"crates/abq_reporting",
"crates/abq_queue",
"crates/abq_runners/generic_test_runner",
"crates/abq_test_support/abq_test_utils",
"crates/abq_test_support/abq_reporting_test_utils",
"crates/abq_test_support/native_runner_simulator",
"crates/abq_test_support/run_n_times",
"crates/abq_test_support/with_protocol_version",
"crates/abq_test_support/write_runner_number",
"crates/abq_test_support/write_worker_number",
"crates/abq_utils",
"crates/abq_workers",
"crates/reporters/dot",
"crates/reporters/line",
"crates/reporters/progress",
"crates/reporters/junit_xml",
"crates/reporters/rwx_v1_json",
]
[workspace.dependencies]
serde = "1.0.158"
serde_derive = "1.0.158"
serde_json = { version = "1.0.94", features = ["raw_value"] }
etcetera = "0.8.0"
toml = "0.7.4"
rustls = "0.20.8"
rustls-pemfile = "1.0.2"
tokio = { version = "1.26.0", features = [
"fs",
"io-util",
"io-std",
"net",
"rt",
"macros",
"sync",
"time",
"process",
] }
tokio-rustls = "0.23.4"
# Keep the following two in sync.
tokio-cron-scheduler = { version = "0.9.4", features = ["signal"] }
cron = "0.12.0"
futures = "0.3.27"
pin-project-lite = "0.2.9"
parking_lot = "0.12.1"
moka = { version = "0.10.0", features = ["future"] }
fs4 = { version = "0.6.3", features = ["tokio-async"] }
fnv = "1.0.7"
signal-hook = "0.3.15"
signal-hook-tokio = { version = "0.3.1", features = ["futures-v0_3"] }
rand = "0.8.5"
rand_chacha = "0.3.1"
blake3 = "=1.4.0"
tracing = { version = "0.1.37", features = ["release_max_level_debug"] }
tracing-subscriber = { version = "0.3.16", features = ["env-filter", "json"] }
tracing-appender = "0.2.2"
thiserror = "1.0.40"
anyhow = "1.0.70"
indoc = "2.0.1"
clap = { version = "4.1.13", features = ["derive", "env"] }
atty = "0.2.14"
num_cpus = "1.15.0"
termcolor = "1.2.0"
indicatif = "0.17.3"
async-trait = "0.1.68"
static_assertions = "1.1.0"
derive_more = "0.99.17"
# --- Development ---
insta = { version = "1.29.0", features = ["json", "redactions"] }
paste = "1.0.12"
mockito = "1.0.1"
tempfile = "3.4.0"
tracing-test = { version = "0.2.4", features = ["no-env-filter"] }
ntest = "0.9.0"
serial_test = "1.0.0"
nix = "0.26.2"
regex = "1.7.3"
# Enabled with the "s3" feature.
aws-config = "0.55.0"
aws-sdk-s3 = "0.25.0"
aws-smithy-http = "0.55.0"
# NB Keep in sync with http dep in AWS crates.
http = "0.2.9"
[workspace.dependencies.uuid]
version = "1.3.0"
features = [
"v4", # Lets you generate random UUIDs
"fast-rng", # Use a faster (but still sufficiently random) RNG
"macro-diagnostics", # Enable better diagnostics for compile-time UUIDs
]
# documentation: https://doc.rust-lang.org/stable/cargo/reference/profiles.html
# a guide to making rust binaries smaller: https://github.com/johnthagen/min-sized-rust
# some minimal experimentation with these flags: https://docs.google.com/spreadsheets/d/1ley23pp_uvSQiy_jbTUc2K1cvoc2dCO_9MptyAue-DA/edit#gid=0
[profile.release]
lto = "fat" # this should create faster & smaller builds at the cost of compile time
opt-level = "s" # may be slightly slower than the default of 3, but the benchmark results don't show any significant speed difference
codegen-units = 1 # disables parallelism during the build, making the code faster & smaller at the cost of compile time
# Profile for built development queues, suitable for unstable releases.
# This is the profile built in CI during non-release cycles.
# Keeps debug assertions around, and prefers faster compilation times.
[profile.release-unstable]
inherits = "dev"
opt-level = 0
# Geometric mean between default of incremental=false=>16 units and incremental=true=>256 units
# https://doc.rust-lang.org/cargo/reference/profiles.html#codegen-units
incremental = true
codegen-units = 256