scheme-libraries/makings.scm

37 lines
1.6 KiB
Scheme

(let ((schemes
'("capyscheme" "chibi" "chicken" "cyclone" "foment" "gauche" "kawa"
"loko" "meevax" "mit-scheme" "mosh" "racket" "sagittarius" "skint"
"stklos" "tr7" "ypsilon"))
(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 --always-yes 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))))