New builds
This commit is contained in:
parent
959fc2f83d
commit
93f78aa11c
|
|
@ -1,11 +1,6 @@
|
||||||
pipeline {
|
pipeline {
|
||||||
agent {
|
agent {
|
||||||
dockerfile {
|
label 'docker'
|
||||||
label 'docker-x86_64'
|
|
||||||
filename 'Dockerfile.jenkins'
|
|
||||||
args '-t --user=root --privileged -v /var/run/docker.sock:/var/run/docker.sock'
|
|
||||||
reuseNode true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
triggers {
|
triggers {
|
||||||
|
|
@ -26,43 +21,26 @@ pipeline {
|
||||||
buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '10'))
|
buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '10'))
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
|
||||||
R6RS_SCHEMES='capyscheme chezscheme guile ikarus ironscheme loko mosh racket sagittarius ypsilon'
|
|
||||||
R7RS_SCHEMES='capyscheme chibi chicken cyclone foment gauche gambit kawa loko meevax mosh racket sagittarius skint stklos tr7 ypsilon'
|
|
||||||
LIBRARIES='tap junit debug lambda-utils ctrf mouth string url-encoding leb128 hardware-info'
|
|
||||||
}
|
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage('Parallel') {
|
stage('Build') {
|
||||||
parallel {
|
|
||||||
stage('R6RS tests') {
|
|
||||||
steps {
|
steps {
|
||||||
|
def config = readYaml file: buildconfig.yaml
|
||||||
script {
|
script {
|
||||||
env.LIBRARIES.split().each { LIBRARY ->
|
config.schemes.each { scheme ->
|
||||||
stage("${LIBRARY}") {
|
stage("${scheme}") {
|
||||||
env.R6RS_SCHEMES.split().each { SCHEME ->
|
agent {
|
||||||
stage("${SCHEME}") {
|
docker {
|
||||||
|
image "schemers/${scheme}:${scheme.docker-tag}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
environment {
|
||||||
|
COMPILE_R7RS="${scheme}"
|
||||||
|
SCHEME="${scheme}"
|
||||||
|
}
|
||||||
|
scheme.stages.each { stage ->
|
||||||
|
stage("${stage}") {
|
||||||
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
||||||
sh "timeout 600 make SCHEME=${SCHEME} LIBRARY=${LIBRARY} RNRS=r6rs test-docker"
|
sh "${stage.cmd}"
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('R7RS tests') {
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
env.LIBRARIES.split().each { LIBRARY ->
|
|
||||||
stage("${LIBRARY}") {
|
|
||||||
env.R7RS_SCHEMES.split().each { SCHEME ->
|
|
||||||
stage("${SCHEME}") {
|
|
||||||
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
|
||||||
sh "timeout 600 make SCHEME=${SCHEME} LIBRARY=${LIBRARY} RNRS=r7rs test-docker"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
schemes:
|
||||||
|
- scheme: chibi
|
||||||
|
docker-tag: head
|
||||||
|
init-cmd: |
|
||||||
|
apt-get update && apt-get install -y git ca-certificates gcc make libffi-dev
|
||||||
|
git clone https://github.com/ashinn/chibi-scheme.git --depth=1
|
||||||
|
make -j8 -C chibi-scheme
|
||||||
|
make -j8 -C chibi-scheme install
|
||||||
|
snow-chibi install retropikzel.compile-r7rs
|
||||||
|
stages:
|
||||||
|
- name: tap
|
||||||
|
cmd: compile-r7rs -o tap retropikzel/tap/test.scm && ./tap
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue