foreign-c/templates/Jenkinsfile

54 lines
1.5 KiB
Groovy

pipeline {
agent {
dockerfile {
filename 'dockerfiles/jenkins'
dir '.'
args '--user=root --privileged -v /var/run/docker.sock:/var/run/docker.sock'
}
}
options {
buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '10'))
}
stages {
stage('Build test libraries') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh 'make libstest.so libtest.a'
}
}
}
stage('Build Chibi libraries') {
agent {
dockerfile {
filename 'dockerfiles/build-chibi'
}
}
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh 'make cbibi'
}
}
}
{{#script-implementations}}
stage('{{.}} script') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh 'make SCHEME={{.}} test-script-docker'
}
}
}
{{/script-implementations}}
{{#compiler-implementations}}
stage('{{.}} compile') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh 'make SCHEME={{.}} test-compile-docker'
}
}
}
{{/compiler-implementations}}
}
}