From c3c8ea56d6feb2e4cf952b14b207537fa252d8ee Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Tue, 13 Jan 2026 18:16:22 -0400 Subject: [PATCH] Add an Alpine test Dockerfile for development purposes Useful to quickly test the project on Alpine. Signed-off-by: Juan Cruz Viotti --- Dockerfile.test.alpine | 22 ++++++++++++++++++++++ Makefile | 4 ++++ vendorpull.mask | 1 + 3 files changed, 27 insertions(+) create mode 100644 Dockerfile.test.alpine diff --git a/Dockerfile.test.alpine b/Dockerfile.test.alpine new file mode 100644 index 000000000..885991543 --- /dev/null +++ b/Dockerfile.test.alpine @@ -0,0 +1,22 @@ +FROM alpine:3.21 +RUN apk add --no-cache cmake make g++ zsh bash jq +WORKDIR /src +COPY CMakeLists.txt . +COPY cmake cmake +COPY src src +COPY test test +COPY vendor vendor +COPY completion completion +COPY VERSION VERSION +COPY package.json package.json +COPY package-lock.json package-lock.json +COPY action.yml action.yml +COPY README.markdown README.markdown +RUN cmake -S . -B ./build \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DJSONSCHEMA_TESTS:BOOL=ON +RUN cmake --build ./build --config Release --parallel 4 +RUN cmake --install ./build --prefix ./build/dist --config Release --verbose \ + --component sourcemeta_jsonschema +RUN cd ./build && ctest --build-config Release --output-on-failure --parallel +RUN cpack --config build/CPackConfig.cmake -B build/out -C Release diff --git a/Makefile b/Makefile index 281cbcd40..ae62b944b 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,7 @@ CTEST = ctest CPACK = cpack NPM = npm NODE = node +DOCKER = docker # Options PRESET = Debug @@ -52,5 +53,8 @@ npm-pack: node_modules .always npm-publish: npm-pack $(NPM) publish +alpine: .always + $(DOCKER) build --progress plain --file Dockerfile.test.alpine . + # For NMake, which doesn't support .PHONY .always: diff --git a/vendorpull.mask b/vendorpull.mask index 3dde74a93..e7e579ddd 100644 --- a/vendorpull.mask +++ b/vendorpull.mask @@ -32,3 +32,4 @@ eslint.config.mjs package.json package-lock.json npm +Dockerfile.test.alpine