-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathjustfile
50 lines (38 loc) · 1.18 KB
/
justfile
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
# This is a collection of commonly used recipes for development. Most of them
# are wrappers around Cargo with the right flags and settings.
build:
cargo build --profile=release
# Runs the engine and enters UCI mode.
run:
cargo run --profile=release --bin=pabi
# Starts self-play games for data generation.
datagen:
cargo run --profile=release --bin=datagen
# Format all code.
fmt:
cargo +nightly fmt --all
# Checks the code for bad formatting, errors and warnings.
lint:
cargo +nightly fmt --all -- --check
cargo clippy --all-targets --all-features
# Runs the linters and tries to apply automatic fixes.
fix: fmt
cargo clippy --all-targets --all-features --fix --allow-staged
# Run most tests in debug mode to (potentially) catch more errors with
# debug_assert.
test:
cargo test
# Run tests that are slow and are not run by default.
test_slow:
cargo test --profile=release -- --ignored
# Run all tests.
test_all: test test_slow
bench:
cargo bench --profile=release
# Lists all fuzzing targets that can be used as inputs for fuzz command.
list_fuzz_targets:
cd fuzz
cargo +nightly fuzz list
fuzz target:
cd fuzz
cargo +nightly fuzz run {{ target }} -- --profile=release