Add justfile for recurring commands
This commit is contained in:
90
justfile
Normal file
90
justfile
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
RELEASE_DIR := "target/release"
|
||||||
|
CUTECHESS_CLI_DIR := "$(pwd)/../cutechess-cli"
|
||||||
|
|
||||||
|
# Run all tests
|
||||||
|
test-all:
|
||||||
|
cargo test -r
|
||||||
|
|
||||||
|
# Run all tests except the perft suite
|
||||||
|
test:
|
||||||
|
cargo test -r -- --skip perft
|
||||||
|
|
||||||
|
# Run only the perft suite
|
||||||
|
test-perft:
|
||||||
|
cargo test -r perft
|
||||||
|
|
||||||
|
# Re-run tests (minus perft) on every change under src/
|
||||||
|
watch:
|
||||||
|
cargo watch -c -w src -x 'test -r -- --skip perft'
|
||||||
|
|
||||||
|
# Build, rotate current zeal -> zeal-old, install new as zeal (for SPRT).
|
||||||
|
release-switch:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cargo b -r
|
||||||
|
mv {{CUTECHESS_CLI_DIR}}/zeal {{CUTECHESS_CLI_DIR}}/zeal-old
|
||||||
|
cp {{RELEASE_DIR}}/zeal {{CUTECHESS_CLI_DIR}}/zeal
|
||||||
|
|
||||||
|
# Build and install as zeal (no old-version rotation; for non-SPRT runs)
|
||||||
|
release:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cargo b -r
|
||||||
|
cp {{RELEASE_DIR}}/zeal {{CUTECHESS_CLI_DIR}}/zeal
|
||||||
|
|
||||||
|
# Run SPRT tests between 2 zeal versions
|
||||||
|
run-sprt concurrency="1":
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd {{CUTECHESS_CLI_DIR}}
|
||||||
|
./cutechess-cli \
|
||||||
|
-engine cmd=./zeal name="zeal-new" proto=uci \
|
||||||
|
-engine cmd=./zeal-old name="zeal-old" proto=uci \
|
||||||
|
-openings file="8moves_v3.pgn" order=random format=pgn \
|
||||||
|
-concurrency {{concurrency}} \
|
||||||
|
-ratinginterval 100 \
|
||||||
|
-games 10000 \
|
||||||
|
-resign movecount=3 score=400 \
|
||||||
|
-draw movenumber=40 movecount=3 score=10 \
|
||||||
|
-repeat \
|
||||||
|
-each tc=8+0.08 \
|
||||||
|
-sprt elo0=0 elo1=10 alpha=0.05 beta=0.1 \
|
||||||
|
-pgnout "$(pwd)/games.pgn" 2>&1 | tee {{CUTECHESS_CLI_DIR}}/sprt_log.txt
|
||||||
|
|
||||||
|
# Run SPRT tests between 2 zeal versions with debug LOG enabled (10 games)
|
||||||
|
run-debug:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd {{CUTECHESS_CLI_DIR}}
|
||||||
|
./cutechess-cli \
|
||||||
|
-engine cmd=./zeal name="zeal-new" proto=uci \
|
||||||
|
-engine cmd=./zeal-old name="zeal-old" proto=uci \
|
||||||
|
-openings file="8moves_v3.pgn" order=random format=pgn \
|
||||||
|
-concurrency 1 \
|
||||||
|
-ratinginterval 100 \
|
||||||
|
-games 10 \
|
||||||
|
-resign movecount=3 score=400 \
|
||||||
|
-draw movenumber=40 movecount=3 score=10 \
|
||||||
|
-repeat \
|
||||||
|
-each tc=8+0.08 \
|
||||||
|
-sprt elo0=0 elo1=10 alpha=0.05 beta=0.1 \
|
||||||
|
-pgnout "$(pwd)/games.pgn" \
|
||||||
|
-debug \
|
||||||
|
2> "$(pwd)/debug_log.txt"
|
||||||
|
|
||||||
|
# Run tests between zeal and a stash version
|
||||||
|
run-ccrl:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd {{CUTECHESS_CLI_DIR}}
|
||||||
|
./cutechess-cli \
|
||||||
|
-engine cmd=./zeal name="zeal" proto=uci \
|
||||||
|
-engine cmd=./stash-15.0-linux-64 name="stash-15.0-linux-64" proto=uci \
|
||||||
|
-openings file="8moves_v3.pgn" order=random format=pgn \
|
||||||
|
-concurrency 6 \
|
||||||
|
-ratinginterval 100 \
|
||||||
|
-games 2000 \
|
||||||
|
-resign movecount=3 score=400 \
|
||||||
|
-draw movenumber=40 movecount=3 score=10 \
|
||||||
|
-repeat \
|
||||||
|
-each tc=8+0.08
|
||||||
Reference in New Issue
Block a user