Updating tests

This commit is contained in:
retropikzel 2025-09-26 07:44:26 +03:00
parent b0184ac4f7
commit 5582c167f1
2 changed files with 17 additions and 23 deletions

2
Dockerfile.jenkins Normal file
View File

@ -0,0 +1,2 @@
FROM retropikzel1/compile-r7rs
RUN apt-get update && apt-get install -y docker.io

38
Jenkinsfile vendored
View File

@ -2,7 +2,7 @@ def tests = ['primitives', 'array', 'struct', 'addressof', 'callback']
pipeline {
agent {
label 'docker-x86_64'
label 'linux'
}
options {
@ -12,37 +12,29 @@ pipeline {
stages {
stage('Cache warmup') {
steps {
sh "docker build --build-arg IMAGE=chibi:head --build-arg SCHEME=chibi --tag=foreign-c-test-chibi -f Dockerfile.test ."
stage('Tests x86_64 Debian') {
agent {
dockerfile {
label 'docker-x86_64'
filename 'Dockerfile.jenkins'
args '--user=root --privileged -v /var/run/docker.sock:/var/run/docker.sock'
}
}
}
stage('Tests') {
steps {
script {
//def implementations = sh(script: 'docker run retropikzel1/compile-r7rs sh -c "compile-r7rs --list-r7rs-schemes"', returnStdout: true).split()
def implementations = "chibi chicken gauche guile kawa mosh racket sagittarius stklos ypsilon".split()
def schemes = "chibi chicken gauche guile kawa mosh racket sagittarius stklos ypsilon".split()
parallel implementations.collectEntries { implementation ->
[(implementation): {
tests.each { test ->
stage("${implementation} ${test}") {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
def DOCKERIMG="${implementation}:head"
if("${implementation}" == "chicken") {
DOCKERIMG="chicken:5"
}
sh "docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${implementation} --tag=foreign-c-test-${implementation} -f Dockerfile.test ."
sh "docker run -v ${WORKSPACE}:/workdir -w /workdir -t foreign-c-test-${implementation} sh -c \"timeout 600 make SCHEME=${implementation} TEST=${test} SNOW_CHIBI_ARGS=--always-yes clean install test\""
}
}
}
schemes.split().each { SCHEME ->
stage("${SCHEME}") {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh "test-r7s test.scm"
}
]
}
}
}
}
}
}
}