repositories / smith
smith
There are many coding harnesses - but this one is fast
owned by admin
.ci/nightly.kdl
Rawjob "nightly" {
image "docker.io/library/rust:1.98"
trigger {
schedule "0 3 * * *"
}
cache "cargo-home" {
path ".cargo-home"
key {
file "Cargo.lock"
}
}
cache "target" {
path "target"
key {
file "Cargo.lock"
}
}
cache "valgrind" {
path "target/tools/valgrind"
key {
file ".ci/nightly.kdl"
}
}
run "export CARGO_HOME=\"$PWD/.cargo-home\""
run "rustup target add wasm32-wasip2"
run "rustup component add llvm-tools"
run "V=$PWD/target/tools/valgrind; test -x $V/bin/valgrind || (mkdir -p target/tools/src && curl -sSL https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2 | tar -xj -C target/tools/src && cd target/tools/src/valgrind-3.25.1 && ./configure -q --prefix=$V >/dev/null && make -s -j$(nproc) >/dev/null && make -s install >/dev/null)"
run "cargo run -p xtask -- bootstrap"
run "cargo run -p xtask -- mutants --all || echo 'missed mutants recorded in the report'"
run "PATH=$PWD/target/tools/valgrind/bin:$PATH cargo run -p xtask -- report"
publish "site" {
from "target/report"
to "smith/nightly/${rev}"
}
}