From 51d1b73614a970ddd2a251dbcf3ff3fad6724eac Mon Sep 17 00:00:00 2001 From: retropikzel Date: Thu, 5 Jun 2025 23:10:11 +0300 Subject: [PATCH] Testing dynamic Jenkinsfile --- Jenkinsfile | 155 +++++++++------------------------------------------- 1 file changed, 25 insertions(+), 130 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index ba067d8..af1212b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,5 @@ +def tests = ['primitives', 'addressof', 'callback'] + pipeline { agent any @@ -7,136 +9,29 @@ pipeline { } stages { - - stage('Chibi primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=chibi' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=chibi TESTNAME=primitives' } } + stage('chibi') { + agent { + dockerfile { + filename 'Dockerfile.test' + args '--user=root' + additionalBuildArgs "--build-arg COMPILE_R7RS=${STAGE_NAME}" + } + } + environment { + IMPLEMENTATION="${STAGE_NAME}" + } + steps { + script { + tests.each { test -> + stage("${STAGE_NAME} ${test}") { + catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { + sh "make test-compile-r7rs COMPILE_R7RS=${ᚢTAGE_NAME} TESTNAME=${test}" + sh "cat tmp/test/primitives" + } + } + } + } + } } - stage('Chibi addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=chibi' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=chibi TESTNAME=addressof' } } - } - stage('Chibi callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=chibi' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=chibi TESTNAME=callback' } } - } - - stage('Chicken primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=chicken' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=chicken TESTNAME=primitives' } } - } - stage('Chicken addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=chicken' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=chicken TESTNAME=addressof' } } - } - stage('Chicken callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=chicken' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=chicken TESTNAME=callback' } } - } - - stage('Gauche primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=gauche' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=gauche TESTNAME=primitives' } } - } - stage('Gauche addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=gauche' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=gauche TESTNAME=addressof' } } - } - stage('Gauche callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=gauche' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=gauche TESTNAME=callback' } } - } - - stage('Guile primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=guile' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=guile TESTNAME=primitives' } } - } - stage('Guile addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=guile' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=guile TESTNAME=addressof' } } - } - stage('Guile callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=guile' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=guile TESTNAME=callback' } } - } - - stage('Kawa primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=kawa' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=kawa TESTNAME=primitives' } } - } - stage('Kawa addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=kawa' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=kawa TESTNAME=addressof' } } - } - stage('Kawa callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=kawa' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=kawa TESTNAME=callback' } } - } - - stage('Mosh primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=mosh' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=mosh TESTNAME=primitives' } } - } - stage('Mosh addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=mosh' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=mosh TESTNAME=addressof' } } - } - stage('Mosh callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=mosh' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=mosh TESTNAME=callback' } } - } - - stage('Racket primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=racket' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=racket TESTNAME=primitives' } } - } - stage('Racket addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=racket' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=racket TESTNAME=addressof' } } - } - stage('Racket callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=racket' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=racket TESTNAME=callback' } } - } - - stage('Sagittarius primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=sagittarius' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=sagittarius TESTNAME=primitives' } } - } - stage('Sagittarius addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=sagittarius' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=sagittarius TESTNAME=addressof' } } - } - stage('Sagittarius callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=sagittarius' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=sagittarius TESTNAME=callback' } } - } - - stage('STklos primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=stklos' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=stklos TESTNAME=primitives' } } - } - stage('STklos addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=stklos' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=stklos TESTNAME=addressof' } } - } - stage('STklos callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=stklos' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=stklos TESTNAME=callback' } } - } - - stage('Ypsilon primitives') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=ypsilon' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=ypsilon TESTNAME=primitives' } } - } - stage('Ypsilon addressof') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=ypsilon' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=ypsilon TESTNAME=addressof' } } - } - stage('Ypsilon callback') { - agent { dockerfile { filename 'Dockerfile.test'; args '--user=root' additionalBuildArgs '--build-arg COMPILE_R7RS=ypsilon' } } - steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh 'make test-compile-r7rs COMPILE_R7RS=ypsilon TESTNAME=callback' } } - } - } }