diff --git a/Dockerfile.test b/Dockerfile.test new file mode 100644 index 0000000..61b3cb0 --- /dev/null +++ b/Dockerfile.test @@ -0,0 +1,14 @@ +ARG COMPILE_R7RS=chibi +FROM debian:bookworm AS build +RUN apt-get update && apt-get install -y build-essential wget make cmake libgc-dev zlib1g-dev libffi-dev libssl-dev +RUN wget https://bitbucket.org/ktakashi/sagittarius-scheme/downloads/sagittarius-0.9.12.tar.gz && tar -xf sagittarius-0.9.12.tar.gz +RUN cd sagittarius-0.9.12 && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local-other .. && make && make install + +FROM schemers/${COMPILE_R7RS} +RUN apt-get update && apt-get install -y \ + git make libffi8 libgc1 libssl3 libuv1 build-essential libffi-dev libmbedtls-dev +COPY --from=build /usr/local-other/ /usr/local-other/ +ENV PATH=${PATH}:/usr/local-other/bin +RUN git clone https://gitea.scheme.org/Retropikzel/compile-r7rs.git --depth=1 +RUN cd compile-r7rs && make && make install + diff --git a/Jenkinsfile b/Jenkinsfile index a83aa88..897341f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,11 +8,18 @@ pipeline { stages { stage('Chibi primitives') { - agent { docker { image 'schemers/chibi' } } + agent { + docker { + filename 'Dockerfile.test' + additionalBuildArgs '--build-arg COMPILE_R7RS=chibi' + } + } + environment { + COMPILE_R7RS = "chibi" + } steps { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { - sh 'apt update && apt install -y make' - sh 'make test-compile-r7rs-docker COMPILE_R7RS=chibi TESTNAME=primitives' + sh 'make test-compile-r7rs COMPILE_R7RS=chibi TESTNAME=primitives' } } }