Skip to content

Commit f2febc2

Browse files
committed
feat(container): add quarkdown
1 parent 0ca2322 commit f2febc2

1 file changed

Lines changed: 46 additions & 12 deletions

File tree

.github/workflows/iamgio_quarkdown:1.14.1.yml

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)