From 5bf11a5f1d9e8ee4911e8a9c97e587f0686e79dc Mon Sep 17 00:00:00 2001 From: retropikzel Date: Thu, 2 Oct 2025 09:17:27 +0300 Subject: [PATCH] Updating tests --- Dockerfile.test | 12 ------------ Jenkinsfile | 14 ++++++++------ Makefile | 3 +-- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/Dockerfile.test b/Dockerfile.test index b9dedab..e61180f 100644 --- a/Dockerfile.test +++ b/Dockerfile.test @@ -1,19 +1,7 @@ -ARG SCHEME=chibi -ARG IMAGE=${SCHEME}:head -FROM debian:trixie-slim AS cache -RUN apt-get update && apt-get install -y make gcc git -WORKDIR /cache -RUN git clone https://github.com/ashinn/chibi-scheme.git --depth=1 -RUN cd chibi-scheme && make - ARG SCHEME=chibi ARG IMAGE=${SCHEME}:head FROM schemers/${IMAGE} -RUN apt-get update && apt-get install -y make gcc libffi-dev COPY --from=retropikzel1/compile-r7rs /opt/compile-r7rs /opt/compile-r7rs -COPY --from=cache /cache /cache -WORKDIR /cache/chibi-scheme -RUN make -j8 install WORKDIR /workdir ARG SCHEME=chibi ENV COMPILE_R7RS=${SCHEME} diff --git a/Jenkinsfile b/Jenkinsfile index 39620f6..4c53684 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,6 +1,10 @@ pipeline { agent { - label 'linux' + docker { + image 'retropikzel1/compile-r7rs' + label 'docker-x86_64' + args '--user=root --privileged -v /var/run/docker.sock:/var/run/docker.sock' + } } options { @@ -12,8 +16,7 @@ pipeline { stage('Tests x86_64 Debian') { steps { script { - def schemes = "chibi chicken gauche guile kawa mosh racket sagittarius stklos ypsilon" - + def schemes = sh(script: 'compile-r7rs --list-r7rs-schemes', returnStdout: true) schemes.split().each { SCHEME -> stage("${SCHEME}") { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { @@ -21,9 +24,8 @@ pipeline { if("${SCHEME}" == "chicken") { DOCKERIMG="chicken:5" } - sh "docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-test-${SCHEME} -f Dockerfile.test ." - sh "docker run -v ${WORKSPACE}:/workdir -w /workdir -t foreign-c-test-${SCHEME} sh -c \"make SCHEME=${SCHEME} SNOW_CHIBI_ARGS=--always-yes install test\"" - archiveArtifacts artifacts: '.tmp/test/*.log', allowEmptyArchive: true, fingerprint: true, onlyIfSuccessful: true + sh "docker run -v ${WORKSPACE}:/workdir -w /workdir schemers/${DOCKERIMG} sh -c \"make SCHEME=${SCHEME} SNOW_CHIBI_ARGS=--always-yes all install test\"" + archiveArtifacts artifacts: 'logs/*.log', allowEmptyArchive: true, fingerprint: true, onlyIfSuccessful: true } } } diff --git a/Makefile b/Makefile index 689061c..3d04713 100644 --- a/Makefile +++ b/Makefile @@ -47,8 +47,7 @@ test: ${TMPDIR}/test/libtest.o ${TMPDIR}/test/libtest.so ${TMPDIR}/test/libtest. cd ${TMPDIR}/test && printf "\n" | LD_LIBRARY_PATH=. timeout 600 ./test test-docker: - docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-test-${SCHEME} -f Dockerfile.test . - docker run -it -v "${PWD}:/workdir" -w /workdir -t foreign-c-test-${SCHEME} sh -c \ + docker run -it -v "${PWD}:/workdir" -w /workdir retropikzel1/compile-r7rs sh -c \ "make SCHEME=${SCHEME} SNOW_CHIBI_ARGS=--always-yes install test" ${TMPDIR}/test/libtest.o: tests/c-src/libtest.c ${TMPDIR}/test