39 lines
1.7 KiB
Scheme
39 lines
1.7 KiB
Scheme
(let ((schemes '("chibi" "sagittarius"))
|
|
#;(schemes
|
|
'("capyscheme" "chibi" "chicken" "cyclone" "foment" "gauche" "kawa"
|
|
"loko" "meevax" "mit-scheme" "mosh" "racket" "sagittarius" "skint"
|
|
"stklos" "tr7" "ypsilon"))
|
|
(libraries '("tap" "debug"))
|
|
#;(libraries
|
|
'("tap" "junit" "ctrf" "mouth" "string" "url-encoding" "debug" "leb128"
|
|
"hardware-info" "lambda-utils"))
|
|
(init
|
|
'("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 || true"
|
|
"make -j8 -C chibi-scheme"
|
|
"make -j8 -C chibi-scheme install"
|
|
"snow-chibi install retropikzel.compile-r7rs"))
|
|
(library-stage
|
|
(lambda (scheme library-name)
|
|
(list (string->symbol library-name)
|
|
(string-append "make SCHEME="
|
|
scheme
|
|
" LIBRARY="
|
|
library-name
|
|
" all install test")))))
|
|
|
|
`((jenkinsfile
|
|
(agent "label 'docker-x86_64'")
|
|
(options "disableConcurrentBuilds()"
|
|
"buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '10'))"))
|
|
(makings ,@(map (lambda (scheme)
|
|
`((name ,scheme)
|
|
(image ,(string-append "schemers/" scheme ":head"))
|
|
(stages
|
|
(init ,@init)
|
|
,@(map
|
|
(lambda (library-name)
|
|
(library-stage scheme library-name))
|
|
libraries))))
|
|
schemes))))
|