pipeline { agent { dockerfile { label 'linux' dir 'ci' } } 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 { sh 'cargo check --all --all-features' sh 'cargo fmt -- --check' sh 'cargo clippy --all --all-features -- --deny warnings' } } stage('Build') { steps { sh 'cargo build' sh 'cargo build --all --all-features' } } stage('Test') { steps { sh 'cargo test --all --all-features' } } } post { cleanup { cleanWs() } } }