Updating tests

This commit is contained in:
retropikzel 2025-10-02 09:17:27 +03:00
parent b7d3d03f10
commit 5bf11a5f1d
3 changed files with 9 additions and 20 deletions

View File

@ -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}

14
Jenkinsfile vendored
View File

@ -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
}
}
}

View File

@ -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