library 'status-jenkins-lib@v1.6.0' pipeline { agent { label 'macos && aarch64 && nix-2.11' } environment { /* Avoid cache poisoning by other jobs. */ GOCACHE = "${env.WORKSPACE_TMP}/go-build" GOPATH = "${env.WORKSPACE_TMP}/go" } options { disableConcurrentBuilds() buildDiscarder(logRotator( numToKeepStr: '20', daysToKeepStr: '30', )) } stages { stage('Check') { steps { script { nix.shell('cargo check --all --all-features') nix.shell('cargo fmt -- --check') nix.shell('cargo clippy --all --all-features -- --deny warnings') } } } stage('Build') { steps { script { nix.shell('cargo build') nix.shell('cargo build --all --all-features') } } } stage('Test') { steps { script { nix.shell('cargo test --all --all-features') } } } } post { cleanup { cleanWs() } } }