512 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Groovy
		
	
	
	
			
		
		
	
	
			512 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Groovy
		
	
	
	
pipeline {
 | 
						|
 | 
						|
    agent {
 | 
						|
        dockerfile {
 | 
						|
            filename 'Dockerfile.jenkins'
 | 
						|
            dir '.'
 | 
						|
            args '--privileged -v /var/run/docker.sock:/var/run/docker.sock'
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    options {
 | 
						|
        buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '10'))
 | 
						|
    }
 | 
						|
 | 
						|
    parameters {
 | 
						|
        choice(name: 'BUILD_IMPLEMENTATION',
 | 
						|
               description: 'Build',
 | 
						|
               choices: [
 | 
						|
                 'all',
 | 
						|
                 'chibi',
 | 
						|
                 'chicken',
 | 
						|
                 'cyclone',
 | 
						|
                 'gambit',
 | 
						|
                 'gauche',
 | 
						|
                 'guile',
 | 
						|
                 'kawa',
 | 
						|
                 'loko',
 | 
						|
                 'mit-scheme',
 | 
						|
                 'sagittarius',
 | 
						|
                 'stklos',
 | 
						|
                 'skint',
 | 
						|
                 'tr7',
 | 
						|
               ])
 | 
						|
    }
 | 
						|
 | 
						|
    stages {
 | 
						|
 | 
						|
        stage("Init") {
 | 
						|
            steps {
 | 
						|
              sh 'mkdir -p reports'
 | 
						|
              sh 'touch reports/placeholder'
 | 
						|
              stash name: 'reports', includes: 'reports/*'
 | 
						|
              sh 'echo "<h1>Test results</h1>" > reports/results.html'
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("chibi") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/chibi'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'chibi'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    
 | 
						|
                    sh 'chibi-scheme -I ./snow/chibi r7rs-tests.scm> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/chibi-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("chicken") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/chicken'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'chicken'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh ' ls  && cp snow/chibi/term/ansi.sld snow.chibi.term.ansi.sld && csc -include-path ./snow/chibi -include-path ./snow/chibi/term -X r7rs -R r7rs -s -J snow.chibi.term.ansi.sld && cp snow/chibi/optional.sld snow.chibi.optional.sld && csc -include-path ./snow/chibi -include-path ./snow/chibi/term -X r7rs -R r7rs -s -J snow.chibi.optional.sld && cp snow/chibi/diff.sld snow.chibi.diff.sld && csc -include-path ./snow/chibi -include-path ./snow/chibi/term -X r7rs -R r7rs -s -J snow.chibi.diff.sld && cp snow/chibi/test.sld snow.chibi.test.sld && csc -include-path ./snow/chibi -include-path ./snow/chibi/term -X r7rs -R r7rs -s -J snow.chibi.test.sld'
 | 
						|
                    sh 'csc -include-path ./snow/chibi -X r7rs -R r7rs r7rs-tests.scm && ./r7rs-tests && rm r7rs-tests> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/chicken-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("cyclone") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/cyclone'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'cyclone'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh ' ls  && cyclone -A . snow/chibi/term/ansi.sld && cyclone -A . snow/chibi/optional.sld && cyclone -A . snow/chibi/diff.sld && cyclone -A . snow/chibi/test.sld'
 | 
						|
                    sh 'cyclone -A . r7rs-tests.scm && ./r7rs-tests && rm r7rs-tests> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/cyclone-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("gambit") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/gambit'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'gambit'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh ' ls  && gsc . snow/chibi/term/ansi && gsc . snow/chibi/optional && gsc . snow/chibi/diff && gsc . snow/chibi/test'
 | 
						|
                    sh 'gsc -exe . -nopreload r7rs-tests.scm && ./r7rs-tests && rm r7rs-tests> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/gambit-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("gauche") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/gauche'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'gauche'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    
 | 
						|
                    sh 'gosh -r7 -A ./snow r7rs-tests.scm> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/gauche-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("guile") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/guile'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'guile'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    
 | 
						|
                    sh 'guile --fresh-auto-compile --r7rs -L . -L ./snow r7rs-tests.scm> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/guile-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("kawa") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/kawa'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'kawa'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    
 | 
						|
                    sh 'kawa --r7rs -Dkawa.import.path=./snow/chibi/*.sld:./snow/srfi/*.sld r7rs-tests.scm> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/kawa-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("loko") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/loko:head'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'loko'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh ' ls  && ls snow/chibi/term/ansi.sld && ls snow/chibi/optional.sld && ls snow/chibi/diff.sld && ls snow/chibi/test.sld'
 | 
						|
                    sh 'LOKO_LIBRARY_PATH=./snow loko -std=r7rs --compile r7rs-tests.scm && ./r7rs-tests && rm r7rs-tests> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/loko-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("mit-scheme") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/mit-scheme'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'mit-scheme'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    
 | 
						|
                    sh 'mit-scheme --load r7rs-tests.scm> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/mit-scheme-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("sagittarius") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/sagittarius'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'sagittarius'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    
 | 
						|
                    sh 'sash -r7 -L ./snow r7rs-tests.scm > r7rs-tests.log && cat r7rs-tests.log> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/sagittarius-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("stklos") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/stklos'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'stklos'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    
 | 
						|
                    sh 'stklos -I ./snow r7rs-tests.scm> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/stklos-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("skint") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/skint'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'skint'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    
 | 
						|
                    sh 'skint --program r7rs-tests.scm> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/skint-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage("tr7") {
 | 
						|
            agent {
 | 
						|
                docker {
 | 
						|
                    image 'schemers/tr7'
 | 
						|
                    reuseNode true
 | 
						|
                }
 | 
						|
            }
 | 
						|
            when {
 | 
						|
                expression {
 | 
						|
                    params.BUILD_IMPLEMENTATION == 'all' || params.BUILD_IMPLEMENTATION == 'tr7'
 | 
						|
                }
 | 
						|
            }
 | 
						|
            environment {
 | 
						|
                MITSCHEME_LIBRARY_PATH = "${env.MITSCHEME_LIBRARY_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
                TR7_LIB_PATH = "${env.TR7_LIB_PATH}:${env.PWD}:${env.PWD}/srfi"
 | 
						|
            }
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    sh 'find . -maxdepth 1 -name "*.log" -delete'
 | 
						|
                    sh 'find . -name "*.so" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    sh 'find . -name "*.o" -delete'
 | 
						|
                    
 | 
						|
                    sh 'tr7i r7rs-tests.scm> r7rs-tests.log'
 | 
						|
                    sh 'cat r7rs-tests.log'
 | 
						|
                    sh 'for f in *.log; do cp -- "$f" "reports/tr7-$f"; done'
 | 
						|
                    sh 'ls reports'
 | 
						|
                    stash name: 'reports', includes: 'reports/*'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        stage("Report") {
 | 
						|
            steps {
 | 
						|
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
 | 
						|
                    unstash 'reports'
 | 
						|
                    sh './report'
 | 
						|
                    archiveArtifacts artifacts: 'reports/*.html'
 | 
						|
                    publishHTML (target : [allowMissing: false,
 | 
						|
                        alwaysLinkToLastBuild: false,
 | 
						|
                        keepAll: true,
 | 
						|
                        reportDir: 'reports',
 | 
						|
                        reportFiles: '*.html,*.css',
 | 
						|
                        reportName: 'R7RS-SRFI Test Report',
 | 
						|
                        reportTitles: 'R7RS-SRFI Test Report'])
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
    post {
 | 
						|
        always {
 | 
						|
            archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
            archiveArtifacts artifacts: 'reports/*.html'
 | 
						|
            sh 'for f in srfi/*.sld; do snow-chibi package "$f"; done'
 | 
						|
            archiveArtifacts artifacts: '*.tgz'
 | 
						|
            archiveArtifacts artifacts: 'srfi/*.tgz'
 | 
						|
            deleteDir()
 | 
						|
        }
 | 
						|
        failure {
 | 
						|
            archiveArtifacts artifacts: 'reports/*.html'
 | 
						|
            archiveArtifacts artifacts: 'reports/*.log'
 | 
						|
            deleteDir()
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 |