nomos-node/ci/Jenkinsfile.prs.macos

66 lines
1.5 KiB
Plaintext

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('BuildAndTest') {
matrix {
axes {
axis {
name 'FEATURES'
values 'libp2p'
}
}
stages {
stage('Check') {
steps { script {
nix.shell("cargo check --all --no-default-features --features ${FEATURES}")
nix.shell("cargo fmt -- --check")
nix.shell("cargo clippy --all --no-default-features --features ${FEATURES} -- --deny warnings")
} }
}
stage('BuildAndTest') {
options {
lock('sync-macos-${env.GIT_COMMIT}')
}
stages {
stage('Build') {
steps { script {
nix.shell("cargo build --all --no-default-features --features ${FEATURES}")
} }
}
stage('Test') {
steps { script {
nix.shell("cargo test --all --no-default-features --features ${FEATURES}")
} }
}
}
}
}
}
}
}
post {
cleanup { cleanWs() }
}
}