@@ -26,23 +26,57 @@ jobs:
2626 username : ${{ github.repository_owner }}
2727 password : ${{ secrets.ACCESS_TOKEN }}
2828
29- - name : Clone quarkdown repository
29+ - name : Create build context
3030 run : |
31- cd /tmp
32- rm -rf quarkdown
33- git clone https://github.com/iamgio/quarkdown.git
34- cd quarkdown
35- git checkout v1.14.1
36- mkdir -p build/distributions
37- curl -L -o build/distributions/quarkdown.zip https://github.com/iamgio/quarkdown/releases/download/v1.14.1/quarkdown.zip
31+ mkdir -p /tmp/quarkdown
32+
33+ - name : Create Dockerfile
34+ run : |
35+ cat > /tmp/quarkdown/Dockerfile << 'EOF'
36+ # Build stage via Gradle
37+ FROM gradle:8.14.3-jdk17 AS builder
38+
39+ COPY . /app
40+ WORKDIR /app
41+
42+ RUN mkdir -p build/distributions
43+ RUN curl -L -o build/distributions/quarkdown.zip https://github.com/iamgio/quarkdown/releases/download/v1.14.1/quarkdown.zip
44+
45+ WORKDIR build/distributions
46+ RUN unzip quarkdown.zip && rm quarkdown.zip
47+
48+ # Run stage
49+ FROM ghcr.io/puppeteer/puppeteer:24.15.0 AS runner
50+
51+ # Install JDK
52+ USER root
53+ RUN apt-get update && apt-get install -y openjdk-17-jdk \
54+ && apt-get clean \
55+ && rm -rf /var/lib/apt/lists/*
56+
57+ USER pptruser
58+ WORKDIR /app
59+ COPY --from=builder /app/build/distributions/quarkdown quarkdown
60+ ENV PATH="/app/quarkdown/bin:${PATH}"
61+
62+ ENTRYPOINT ["quarkdown"]
63+
64+ LABEL org.opencontainers.image.vendor="Quarkdown"
65+ LABEL org.opencontainers.image.title="Quarkdown Docker image"
66+ LABEL org.opencontainers.image.description="Versatile Markdown-based typsetting system."
67+ LABEL org.opencontainers.image.authors="Giorgio Garofalo (iamgio) and contributors <info@quarkdown.com>"
68+ LABEL org.opencontainers.image.url="https://quarkdown.com"
69+ LABEL org.opencontainers.image.source="https://github.com/iamgio/quarkdown"
70+ LABEL org.opencontainers.image.documentation="https://quarkdown.com/docs/"
71+ LABEL org.opencontainers.image.licenses="GPL-3.0"
72+ EOF
3873
3974 - name : Build and push multi-arch image
4075 run : |
41- cd /tmp/quarkdown
4276 docker buildx build \
4377 --platform linux/amd64,linux/arm64 \
4478 --build-arg BUILDKIT_INLINE_CACHE=1 \
4579 -t ghcr.io/packages-mirror/iamgio/quarkdown:1.14.1 \
46- -f Dockerfile \
47- . \
48- --push
80+ -f /tmp/quarkdown/ Dockerfile \
81+ /tmp/quarkdown \
82+ --push
0 commit comments