Bring things to new compile-r7rs

This commit is contained in:
retropikzel 2025-07-19 12:28:19 +03:00
parent 1b49431a3e
commit 306533561d
3 changed files with 24 additions and 21 deletions

4
Jenkinsfile vendored
View File

@ -20,14 +20,14 @@ pipeline {
stage("${implementation} install") {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh "docker build --build-arg SCHEME=${implementation} --tag=r7rs-pffi-test-${implementation} -f dockerfiles/Dockerfile.snow-chibi-install-test ."
sh "docker run -v ${WORKSPACE}:/workdir -w /workdir -t r7rs-pffi-test-${implementation} sh -c \"make clean package install-jenkins SCHEME=${implementation} && cp tests/hello.scm /tmp/ && cd /tmp && SCHEME=${implementation} compile-r7rs -o hello hello.scm && ./hello\""
sh "docker run -v ${WORKSPACE}:/workdir -w /workdir -t r7rs-pffi-test-${implementation} sh -c \"timeout 600 make clean package install-jenkins SCHEME=${implementation} && cp tests/hello.scm /tmp/ && cd /tmp && SCHEME=${implementation} compile-r7rs -o hello hello.scm && ./hello\""
}
}
tests.each { test ->
stage("${implementation} ${test}") {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh "docker build --build-arg SCHEME=${implementation} --tag=r7rs-pffi-test-${implementation} -f dockerfiles/Dockerfile.test ."
sh "docker run -v ${WORKSPACE}:/workdir -w /workdir -t r7rs-pffi-test-${implementation} sh -c \"make SCHEME=${implementation} TEST=${test} clean test\""
sh "docker run -v ${WORKSPACE}:/workdir -w /workdir -t r7rs-pffi-test-${implementation} sh -c \"timeout 600 make SCHEME=${implementation} TEST=${test} clean test\""
}
}
}

View File

@ -77,8 +77,8 @@ test-compile-r7rs-wine:
wine ./${TEST}.bat
test-docker:
docker build --build-arg SCHEME=${SCHEME} --tag=r7rs-pffi-test-${SCHEME} -f dockerfiles/Dockerfile.test .
docker run -it -v "${PWD}:/workdir" -w /workdir -t r7rs-pffi-test-${SCHEME} sh -c "make SCHEME=${SCHEME} TEST=${TEST} test"
docker build --build-arg SCHEME=${SCHEME} --tag=foreign-c-test-${SCHEME} -f dockerfiles/Dockerfile.test .
docker run -it -v "${PWD}:/workdir" -w /workdir -t foreign-c-test-${SCHEME} sh -c "make SCHEME=${SCHEME} TEST=${TEST} test"
tmp/test/libtest.o: tests/c-src/libtest.c
mkdir -p tmp/test

View File

@ -1,25 +1,28 @@
ARG SCHEME=chibi
FROM debian:bookworm AS build
RUN apt-get update && apt-get install -y git make chicken-bin build-essential
RUN chicken-install r7rs
RUN git clone https://github.com/Retropikzel/compile-r7rs.git --depth=1
RUN ls
RUN cd compile-r7rs && make && make install
FROM schemers/chibi:head AS build
RUN apt-get update && apt-get install -y \
ca-certificates \
git \
make \
build-essential
RUN git clone https://github.com/ashinn/chibi-scheme.git --depth=1
RUN cd chibi-scheme && make -j 32
RUN git clone https://gitea.scheme.org/Retropikzel/compile-r7rs.git --depth=1
RUN cd compile-r7rs --branch=retropikzel-dependency-fixes && make
ARG SCHEME=chibi
FROM schemers/${SCHEME}:head
RUN apt-get update && apt-get install -y \
build-essential \
git \
ca-certificates \
make \
libffi8 \
libgc1 \
libssl3 \
libuv1 \
build-essential \
libffi-dev \
libmbedtls-dev
COPY --from=build /usr/local/bin/compile-r7rs /usr/local/bin/compile-r7rs
libffi-dev
RUN mkdir ${HOME}/.snow && echo "()" > ${HOME}/.snow/config.scm
COPY --from=build /chibi-scheme /chibi-scheme
RUN cd /chibi-scheme && make -j 8 install
COPY --from=build /compile-r7rs /compile-r7rs
RUN cd /compile-r7rs && make install
ARG SCHEME=chibi
ENV COMPILE_R7RS=${SCHEME}
RUN mkdir -p ${HOME}/.snow && echo "()" > ${HOME}/.snow/config.scm