Added Jenkinsfile

This commit is contained in:
retropikzel 2024-07-10 07:33:41 +03:00
parent 3e5c3353c0
commit a05570c92d
4 changed files with 47 additions and 69 deletions

View File

@ -1,11 +0,0 @@
RUN apk add --no-cache --update wine 7zip
RUN apt install -y wine64 7zip || true
RUN dnf install -y wine64 7zip || true
RUN unset DISPLAY && wine hostname
RUN wget https://download.racket-lang.org/installers/8.13/racket-8.13-x86_64-win32-cs.exe
ENV WINEDEBUG=-all
RUN wine racket-8.13-x86_64-win32-cs.exe /exenoui /qn /norestart
#RUN 7z e racket-8.13-x86_64-win32-cs.exe -y
#RUN apk add mlocate && updatedb && locate racket.exe
#ENV WINEPATH=/racket/bin
#RUN tree /racket

View File

@ -1,6 +0,0 @@
RUN apk add build-base wget bash curl make cmake || true
RUN apt update && apt install -y make cmake build-essential curl wget bash || true
RUN dnf group install "Development Tools" -y || true
RUN dnf install -y curl wget bash make cmake || true
RUN zypper install -t pattern devel_basis || true
RUN zypper install -y curl wget bash make cmake findutils || true

20
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,20 @@
pipeline {
agent any
stages {
stage('Test amd64') {
steps {
sh 'make test-amd64-wine'
}
}
stage('Test amd64 wine') {
steps {
sh 'make test-amd64-wine'
}
}
stage('Test arm64') {
steps {
sh 'make test-arm64'
}
}
}
}

View File

@ -1,16 +1,11 @@
.PHONY: test
VERSION=$(shell cat VERSION)
build: build-main-scm
install: build
schubert install
build-main-scm:
build:
cp retropikzel/pffi/${VERSION}/main.sld retropikzel/pffi/${VERSION}/main.scm
install:
schubert install
update-documentation:
schubert document
mkdir -p docutmp
@ -23,57 +18,38 @@ documentation:
schubert document
VERSION=${VERSION} bash doc/generate.sh > documentation.md
tmp:
mkdir -p tmp
.dockerfiles:
mkdir -p dockerfiles/build
cat dockerfiles/src/wine_alpine_x86_64 > dockerfiles/build/Dockerfile.wine_alpine_x86_64
cat dockerfiles/src/debian_trixie > dockerfiles/build/Dockerfile.debian_trixie
cat dockerfiles/src/shared >> dockerfiles/build/Dockerfile.debian_trixie
cat dockerfiles/src/fedora_40 > dockerfiles/build/Dockerfile.fedora_40
cat dockerfiles/src/shared >> dockerfiles/build/Dockerfile.fedora_40
cat dockerfiles/src/alpine_320 > dockerfiles/build/Dockerfile.alpine_320
cat dockerfiles/src/shared >> dockerfiles/build/Dockerfile.alpine_320
test-in-container-wine-alpine-x86_64: .dockerfiles
docker build --arch=x86_64 . -f dockerfiles/build/Dockerfile.wine_alpine_x86_64 --tag pffi-test-wine-alpine-x86_64
docker run --arch=x86_64 -v ${PWD}:/workdir:z pffi-test-wine-alpine-x86_64
test-in-container-debian-trixie-arm64: .dockerfiles
docker build --arch=arm64 . -f dockerfiles/build/Dockerfile.debian_trixie --tag pffi-test-debian-trixie-arm64
docker run --arch=arm64 -v ${PWD}:/workdir:z pffi-test-debian-trixie-arm64
test-in-container-fedora-40-arm64: .dockerfiles
docker build --arch=arm64 . -f dockerfiles/build/Dockerfile.fedora_40 --tag pffi-test-fedora-40-arm64
docker run --arch=arm64 -v ${PWD}:/workdir:z pffi-test-fedora-40-arm64
test-in-container-alpine-320-arm64: .dockerfiles
docker build --arch=arm64 . -f dockerfiles/build/Dockerfile.alpine_320 --tag pffi-test-alpine-320-arm64
docker run --arch=arm64 -v ${PWD}:/workdir:z pffi-test-alpine-320-arm64
test-in-container-arm64: test-in-container-fedora-40-arm64 test-in-container-debian-trixie-arm64 test-in-container-fedora-40-arm64
test: build
bash test-all.sh
test-arm64:
scheme_testrunner alpine:3.20 arm64 guile "bash test-guile.sh"
#scheme_testrunner alpine:3.20 arm64 guile "bash test-guile.sh"
scheme_testrunner alpine:3.20 arm64 sagittarius "bash test-sagittarius.sh"
#
scheme_testrunner debian:trixie arm64 guile "bash test-guile.sh"
scheme_testrunner debian:trixie arm64 sagittarius "bash test-sagittarius.sh"
#scheme_testrunner debian:trixie arm64 guile "bash test-guile.sh"
#scheme_testrunner debian:trixie arm64 sagittarius "bash test-sagittarius.sh"
#
scheme_testrunner fedora:40 arm64 guile "bash test-guile.sh"
scheme_testrunner fedora:40 arm64 sagittarius "bash test-sagittarius.sh"
#scheme_testrunner fedora:40 arm64 guile "bash test-guile.sh"
#scheme_testrunner fedora:40 arm64 sagittarius "bash test-sagittarius.sh"
#
scheme_testrunner opensuse/tumbleweed arm64 guile "bash test-guile.sh"
scheme_testrunner opensuse/tumbleweed arm64 sagittarius "bash test-sagittarius.sh"
#scheme_testrunner opensuse/tumbleweed arm64 guile "bash test-guile.sh"
#scheme_testrunner opensuse/tumbleweed arm64 sagittarius "bash test-sagittarius.sh"
test-amd64:
scheme_testrunner alpine:3.20 amd64 guile "bash test-guile.sh"
scheme_testrunner alpine:3.20 amd64 sagittarius "bash test-sagittarius.sh"
#
scheme_testrunner debian:trixie amd64 guile "bash test-guile.sh"
scheme_testrunner debian:trixie amd64 sagittarius "bash test-sagittarius.sh"
#
scheme_testrunner fedora:40 amd64 guile "bash test-guile.sh"
scheme_testrunner fedora:40 amd64 sagittarius "bash test-sagittarius.sh"
#
scheme_testrunner opensuse/tumbleweed amd64 guile "bash test-guile.sh"
scheme_testrunner opensuse/tumbleweed amd64 sagittarius "bash test-sagittarius.sh"
test-amd64-wine:
#scheme_testrunner alpine:3.20 amd64 sagittarius_wine "bash test-sagittarius-wine.sh"
scheme_testrunner alpine:3.20 amd64 sagittarius_wine "bash test-sagittarius-wine.sh"
scheme_testrunner alpine:3.20 amd64 racket_wine "bash test-racket-wine.sh"
tmp:
mkdir -p tmp
clean:
rm -rf docutmp
@ -95,6 +71,5 @@ clean:
rm -rf *.o
rm -rf *.so
rm -rf *.a
rm -rf tmp
find ./test -type f -not -name "*.scm" -exec bash -c "test -x {} && rm {}" \;
rm -rf dockerfiles/build