dishplanner/docker/build/Dockerfile.ci
myrmidex 0988f40dac
Some checks failed
CI / ci (push) Failing after 1s
CI / ci (pull_request) Has been cancelled
46 - Add zip extension to CI image
2026-08-17 14:58:10 +02:00

31 lines
1.1 KiB
Text

# CI image: PHP + Composer only, no runtime server or frontend toolchain.
# Tests run against SQLite in memory (see .env.testing), so no database client
# or cache extension is needed.
#
# Published as dishplanner-ci:php8.3-<revision>. Bump the revision in the tag
# (.forgejo/workflows/images.yml) and in .forgejo/workflows/ci.yml whenever
# this file changes (runners cache mutable tags and will not re-pull them).
#
# Debian-based rather than Alpine to avoid the DNS resolution timeouts against
# codeload.github.com that the Alpine base hit during composer install.
FROM php:8.3-cli
COPY --from=mlocati/php-extension-installer:2 /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions \
pdo_sqlite \
mbstring \
dom \
xml \
fileinfo \
pcntl \
zip
# git is needed by the checkout action; nodejs runs the Forgejo JavaScript
# actions (checkout, cache); unzip lets Composer extract dist archives.
RUN apt-get update \
&& apt-get install -y --no-install-recommends git unzip nodejs \
&& rm -rf /var/lib/apt/lists/*
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer