job "go-test" { image "docker.io/library/golang:1.26" cache "go-mod" { path ".go-modcache" key { file "services/luci/go.sum" file "services/toad/go.sum" } } cache "go-build" { path ".go-cache" key { file "services/luci/go.sum" file "services/toad/go.sum" } } run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh check read services/luci" run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh check read services/toad" trigger { push { branch "trunk" include "services/luci/**" include "services/toad/**" include "scripts/local/go.sh" include "scripts/local/check.sh" include "scripts/local/check-staged.sh" include "scripts/local/verify.sh" include "scripts/local/test-go-tooling.sh" include "lefthook.yml" include "justfile" include ".ci/**" } } } job "go-race" { image "docker.io/library/golang:1.26" cache "go-mod" { path ".go-modcache" key { file "services/luci/go.sum" file "services/toad/go.sum" } } cache "go-build" { path ".go-cache" key { file "services/luci/go.sum" file "services/toad/go.sum" } } run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh race services/luci" run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh race services/toad" trigger { push { branch "trunk" include "services/luci/**" include "services/toad/**" include "scripts/local/go.sh" include "scripts/local/check.sh" include "scripts/local/check-staged.sh" include "scripts/local/verify.sh" include "scripts/local/test-go-tooling.sh" include "lefthook.yml" include "justfile" include ".ci/**" } } } job "go-staticcheck" { image "docker.io/library/golang:1.26" cache "go-mod" { path ".go-modcache" key { file "services/luci/go.sum" file "services/toad/go.sum" } } cache "go-build" { path ".go-cache" key { file "services/luci/go.sum" file "services/toad/go.sum" } } run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh staticcheck services/luci" run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh staticcheck services/toad" trigger { push { branch "trunk" include "services/luci/**" include "services/toad/**" include "scripts/local/go.sh" include "scripts/local/check.sh" include "scripts/local/check-staged.sh" include "scripts/local/verify.sh" include "scripts/local/test-go-tooling.sh" include "lefthook.yml" include "justfile" include ".ci/**" } } } job "go-vuln" { image "docker.io/library/golang:1.26" cache "go-mod" { path ".go-modcache" key { file "services/luci/go.sum" file "services/toad/go.sum" } } cache "go-build" { path ".go-cache" key { file "services/luci/go.sum" file "services/toad/go.sum" } } run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh vuln services/luci" run "GOTOOLCHAIN=local GOMAXPROCS=2 GOFLAGS=-p=2 GOMODCACHE=$PWD/.go-modcache GOCACHE=$PWD/.go-cache scripts/local/go.sh vuln services/toad" trigger { schedule "0 3 * * 1" } } job "rust-fmt" { image "docker.io/library/rust:1.98.0-bookworm" run "rustup component add rustfmt && scripts/local/rust.sh fmt" trigger { push { branch "trunk" include "services/luigit/**" include "scripts/local/rust.sh" include "justfile" include ".ci/**" } } } job "rust-clippy" { image "docker.io/library/rust:1.98.0-bookworm" cache "cargo-luigit" { path ".cargo-home" key { file "services/luigit/Cargo.lock" } } run "rustup component add clippy && CARGO_HOME=$PWD/.cargo-home CARGO_BUILD_JOBS=2 scripts/local/rust.sh clippy" trigger { push { branch "trunk" include "services/luigit/**" include "scripts/local/rust.sh" include "justfile" include ".ci/**" } } } job "rust-test" { image "docker.io/library/rust:1.98.0-bookworm" cache "cargo-luigit" { path ".cargo-home" key { file "services/luigit/Cargo.lock" } } run "CARGO_HOME=$PWD/.cargo-home CARGO_BUILD_JOBS=2 scripts/local/rust.sh test" trigger { push { branch "trunk" include "services/luigit/**" include "scripts/local/rust.sh" include "justfile" include ".ci/**" } } }