Updating tests
This commit is contained in:
parent
b0184ac4f7
commit
5582c167f1
|
|
@ -0,0 +1,2 @@
|
|||
FROM retropikzel1/compile-r7rs
|
||||
RUN apt-get update && apt-get install -y docker.io
|
||||
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue