34 lines
1.6 KiB
Docker
34 lines
1.6 KiB
Docker
ARG NATIVEAOT_BUILDER_IMAGE=localhost/moshiro-dotnet10-nativeaot-aotanywhere:ci
|
|
FROM docker.io/library/node:24-bookworm-slim AS node
|
|
FROM quay.io/woodpeckerci/woodpecker-agent:v3.18.1 AS agent
|
|
FROM docker.io/woodpeckerci/plugin-git:2.6.0 AS clone
|
|
FROM ${NATIVEAOT_BUILDER_IMAGE}
|
|
|
|
# Installed once when this image changes, never in a pipeline step.
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
buildah netavark aardvark-dns fuse-overlayfs uidmap runc python3 git git-lfs openssh-client \
|
|
curl ca-certificates openssl util-linux binutils xz-utils unzip make \
|
|
clang lld zlib1g-dev libssl-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY --from=node /usr/local/ /usr/local/
|
|
COPY --from=agent /bin/woodpecker-agent /usr/local/bin/woodpecker-agent
|
|
COPY --from=clone /bin/plugin-git /usr/local/bin/plugin-git
|
|
|
|
# Test sidecars are also downloaded into a reusable image layer.
|
|
COPY ci/fetch-quic-test-runtime.sh /opt/moshiro/fetch-quic-test-runtime.sh
|
|
RUN bash /opt/moshiro/fetch-quic-test-runtime.sh /opt/moshiro/quic
|
|
COPY ci/woodpecker-agent-entrypoint.sh /usr/local/bin/moshiro-ci-entrypoint
|
|
RUN chmod 0755 /usr/local/bin/moshiro-ci-entrypoint
|
|
|
|
ENV WOODPECKER_IN_CONTAINER=true \
|
|
WOODPECKER_BACKEND=local \
|
|
WOODPECKER_AGENT_LABELS=ci=domain-linux-native \
|
|
WOODPECKER_BACKEND_LOCAL_TEMP_DIR=/home/justme/woodpecker/work \
|
|
MOSHIRO_QUIC_TEST_RUNTIME=/opt/moshiro/quic/runtime \
|
|
NUGET_SCRATCH=/home/justme/woodpecker/cache/nuget/scratch \
|
|
NUGET_PACKAGES=/home/justme/woodpecker/cache/nuget/packages \
|
|
BUILDAH_ISOLATION=chroot
|
|
WORKDIR /home/justme/woodpecker
|
|
ENTRYPOINT ["/usr/local/bin/moshiro-ci-entrypoint"]
|