2026-08-15 00:59:05 +02:00
|
|
|
# Image for CI: PHP and 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.
|
|
|
|
|
#
|
2026-08-15 01:31:14 +02:00
|
|
|
# Published as fedi-feed-router-ci:php<version>-<revision>, not :latest. Runners
|
|
|
|
|
# cache mutable tags and will not re-pull them, so bump the revision in the tag
|
|
|
|
|
# and in ci.yml whenever this file changes.
|
|
|
|
|
#
|
2026-08-15 01:22:18 +02:00
|
|
|
# php:alpine already bundles the rest of what composer.lock requires. gd is not
|
|
|
|
|
# declared anywhere but ThumbnailUploader calls it directly.
|
2026-08-15 00:59:05 +02:00
|
|
|
FROM php:8.3-alpine
|
|
|
|
|
|
|
|
|
|
COPY --from=mlocati/php-extension-installer:2 /usr/bin/install-php-extensions /usr/local/bin/
|
|
|
|
|
|
|
|
|
|
RUN install-php-extensions \
|
|
|
|
|
pcntl \
|
2026-08-15 01:22:18 +02:00
|
|
|
gd
|
2026-08-15 00:59:05 +02:00
|
|
|
|
|
|
|
|
# nodejs is not used by the app's tests; the Forgejo/GitHub JavaScript actions
|
|
|
|
|
# (checkout, cache) are executed with it inside this container.
|
|
|
|
|
RUN apk add --no-cache git unzip nodejs
|
|
|
|
|
|
|
|
|
|
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|