nim-secp256k1/ci/Jenkinsfile

63 lines
1.0 KiB
Groovy

pipeline {
agent { label 'macos && aarch64' }
options {
disableConcurrentBuilds()
/* manage how many builds we keep */
buildDiscarder(logRotator(
numToKeepStr: '20',
daysToKeepStr: '30',
))
}
environment {
/* Nim has to be built in Compiler stage. */
PATH = "${PATH}:${WORKSPACE}/ci/nim/bin"
}
stages {
stage('Modules') {
steps {
sh 'git submodule update --init'
}
}
stage('Compiler') {
steps {
sh 'make -C ci compiler'
}
}
stage('Deps') {
steps {
sh 'nimble install -y --depsOnly'
}
}
stage('Tests') {
parallel {
stage('C') {
environment {
NIMLANG = 'c'
}
steps {
sh 'nimble test'
}
}
stage('C++') {
environment {
NIMLANG = 'cpp'
}
steps {
sh 'nimble test'
}
}
}
}
}
post {
always { cleanWs() }
}
}