23 lines
1.8 KiB
Bash
Executable file
23 lines
1.8 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# The scheduling classes of tools/build-remote.sh (main, 7 October 2026, the load-190 night): a build-remote call WITHOUT a priority
|
|
# flag must put every suite (cargo test) and bench (cargo bench) into the bounded class, nice 10 on 88 cores with -j 88 (the project lead, 7 Oct 2026 19:4x BST: both boxes to near max, 8 cores reserved), while a
|
|
# build keeps the box's own jobs rule and --priority gate gives nice 0 on the full set. This check runs the tool's --plan mode (no box,
|
|
# no crate) for the four shapes and compares the resolved class; a change that lets a bare `cargo test` run unbounded again fails it.
|
|
#
|
|
# tools/ci/build-kind-default-check.sh # exit 1 with the shape that resolved wrongly
|
|
# tools/ci/build-kind-default-check.sh --self-test # the same four shapes (the check IS its self-test: every expectation is a known case)
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/../.."
|
|
expect() { # <expected line> <args...>
|
|
local want="$1"; shift
|
|
local got; got=$(bash tools/build-remote.sh --plan "$@" 2>/dev/null || true)
|
|
if [ "$got" = "$want" ]; then echo "build-kind: [$*] -> $got"; else echo "build-kind: [$*] resolved to '$got', expected '$want'" >&2; return 1; fi
|
|
}
|
|
fail=0
|
|
expect 'kind=suite nice=10 cores=88 jobs=88 priority=normal' -- test -p kaspa-consensus-core --lib || fail=1
|
|
expect 'kind=bench nice=10 cores=88 jobs=88 priority=normal' -- bench -p igneum-pow || fail=1
|
|
expect 'kind=build nice=0 cores=96 jobs=box priority=normal' -- build --release -p kaspad || fail=1
|
|
expect 'kind=gate nice=0 cores=96 jobs=box priority=gate' --priority gate -- test -p igneum-app || fail=1
|
|
expect 'kind=check nice=0 cores=96 jobs=box priority=normal' -- check || fail=1
|
|
[ "$fail" = 0 ] && echo "build-kind: a call without a priority flag bounds suites and benches; a gate runs unbounded at nice 0"
|
|
exit $fail
|