Luigit
repositories / smith

smith

There are many coding harnesses - but this one is fast

owned by admin

.ci/nightly.kdl

Raw
job "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}"
  }
}