diff --git a/Dockerfile.jenkins b/Dockerfile.jenkins index 8f170ae..b6b1302 100644 --- a/Dockerfile.jenkins +++ b/Dockerfile.jenkins @@ -1,4 +1,4 @@ -FROM schemers/sagittarius +FROM schemers/chibi RUN apt-get update && apt-get install -y \ build-essential wget make cmake libgc-dev zlib1g-dev libffi-dev \ libssl-dev docker.io diff --git a/Dockerfile.test b/Dockerfile.test index 8da31c0..a95ab72 100644 --- a/Dockerfile.test +++ b/Dockerfile.test @@ -1,31 +1,13 @@ -ARG COMPILE_R7RS=chibi -FROM schemers/sagittarius AS build - -RUN apt-get update && apt-get install -y wget build-essential make cmake libgc-dev zlib1g-dev libffi-dev libssl-dev -RUN wget https://github.com/ktakashi/sagittarius-scheme/archive/refs/tags/version_0.9.12.tar.gz && tar -xf version_0.9.12.tar.gz -RUN cd sagittarius-scheme-version_0.9.12 && ./dist.sh gen && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local-other .. && make && make install - -WORKDIR /workdir -COPY Makefile . -COPY compile-r7rs.scm . -COPY snow/ snow/ -COPY libs/ libs/ -RUN ls -1 -RUN make PREFIX=/usr/local-other && make install PREFIX=/usr/local-other - -FROM schemers/${COMPILE_R7RS} +ARG SCHEME=chibi +FROM schemers/${SCHEME} RUN apt-get update && apt-get install -y \ build-essential \ make \ - libfcgi-dev \ - sqlite3 \ - libsqlite3-dev \ - libffi8 \ libffi-dev \ - libgc1 \ - libssl3 \ - libuv1 -COPY --from=build /usr/local-other/ /usr/local-other/ + ca-certificates \ + git ENV PATH=${PATH}:/usr/local-other/bin -ARG COMPILE_R7RS=chibi -ENV COMPILE_R7RS=${COMPILE_R7RS} +ARG SCHEME=chibi +ENV COMPILE_R7RS=${SCHEME} +RUN git clone https://github.com/ashinn/chibi-scheme.git --depth=1 \ + && cd chibi-scheme && make -j 16 && make -j 16 install diff --git a/Jenkinsfile b/Jenkinsfile index 659eae7..9067630 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -13,7 +13,7 @@ pipeline { stage('Test R6RS implementations') { steps { script { - def r6rs_implementations = sh(script: 'sash -L ./snow -L . compile-r7rs.scm --list-r6rs-schemes', returnStdout: true).split() + def r6rs_implementations = sh(script: 'chibi-scheme -I ./snow -I . compile-r7rs.scm --list-r6rs-schemes', returnStdout: true).split() r6rs_implementations.each { implementation-> stage("${implementation} R6RS") { @@ -29,7 +29,7 @@ pipeline { stage('Test R7RS implementations') { steps { script { - def r7rs_implementations = sh(script: 'sash -L ./snow -L . compile-r7rs.scm --list-r7rs-schemes', returnStdout: true).split() + def r7rs_implementations = sh(script: 'chibi-scheme -I ./snow -I . compile-r7rs.scm --list-r7rs-schemes', returnStdout: true).split() r7rs_implementations.each { implementation-> stage("${implementation} R7RS") { diff --git a/Makefile b/Makefile index 4d53d51..85cb3d0 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ SCHEME=chibi all: build container: - docker build -f Dockerfile --tag=compile-r7rs + docker build -f Dockerfile.test --tag=compile-r7rs build: deps echo "#!/bin/sh" > compile-r7rs @@ -55,7 +55,7 @@ test-r7rs: @grep "Test successfull" /tmp/compile-r7rs-test-result.txt || (echo "Test failed, output: " && cat /tmp/compile-r7rs-test-result.txt && exit 1) test-r7rs-docker: - docker build --build-arg COMPILE_R7RS=${SCHEME} --tag=compile-r7rs-test-${SCHEME} . + docker build -f Dockerfile.test --build-arg COMPILE_R7RS=${SCHEME} --tag=compile-r7rs-test-${SCHEME} . docker run -v "${PWD}":/workdir -w /workdir -t compile-r7rs-test-${SCHEME} sh -c "make && make install && make clean-test COMPILE_R7RS=${SCHEME} test-r7rs" clean-test: