diff --git a/Jenkinsfile b/Jenkinsfile index 1f38df0..7f777f0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -48,16 +48,18 @@ pipeline { steps { script { params.LIBRARIES.split().each { LIBRARY -> - stage(name: "${LIBRARY}", concurrency: 1) { + stage("${LIBRARY}") { parallel params.R7RS_SCHEMES.collectEntries().each { SCHEME -> [(SCHEME): { - def IMG="${SCHEME}:head" - if("${SCHEME}" == "chicken") { - IMG="${SCHEME}:5" - } - stage("${SCHEME} - ${LIBRARY}") { - catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { - sh "timeout 600 make SCHEME=${SCHEME} LIBRARY=${LIBRARY} test-r7rs-docker" + lock { + def IMG="${SCHEME}:head" + if("${SCHEME}" == "chicken") { + IMG="${SCHEME}:5" + } + stage("${SCHEME} - ${LIBRARY}") { + catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { + sh "timeout 600 make SCHEME=${SCHEME} LIBRARY=${LIBRARY} test-r7rs-docker" + } } } }]