147 - Base the CI image on Debian instead of Alpine

This commit is contained in:
myrmidex 2026-08-15 01:48:47 +02:00
parent 7eaa32f7a0
commit d07e58207f
3 changed files with 15 additions and 6 deletions

View file

@ -10,7 +10,7 @@ jobs:
ci: ci:
runs-on: docker runs-on: docker
container: container:
image: forge.lvl0.xyz/lvl0/fedi-feed-router-ci:php8.3-1 image: forge.lvl0.xyz/lvl0/fedi-feed-router-ci:php8.3-2
steps: steps:
- uses: https://data.forgejo.org/actions/checkout@v4 - uses: https://data.forgejo.org/actions/checkout@v4

View file

@ -21,7 +21,7 @@ jobs:
version: php8.3-1 version: php8.3-1
- name: fedi-feed-router-ci - name: fedi-feed-router-ci
file: docker/build/Dockerfile.ci file: docker/build/Dockerfile.ci
version: php8.3-1 version: php8.3-2
steps: steps:
- uses: https://data.forgejo.org/actions/checkout@v4 - uses: https://data.forgejo.org/actions/checkout@v4

View file

@ -6,18 +6,27 @@
# cache mutable tags and will not re-pull them, so bump the revision in the tag # cache mutable tags and will not re-pull them, so bump the revision in the tag
# and in ci.yml whenever this file changes. # and in ci.yml whenever this file changes.
# #
# php:alpine already bundles the rest of what composer.lock requires. gd is not # Debian-based rather than alpine: the alpine build hit repeated DNS resolution
# declared anywhere but ThumbnailUploader calls it directly. # timeouts against codeload.github.com during composer install.
FROM php:8.3-alpine #
# gd is not declared in composer.lock but ThumbnailUploader calls it directly.
FROM php:8.3-cli
COPY --from=mlocati/php-extension-installer:2 /usr/bin/install-php-extensions /usr/local/bin/ COPY --from=mlocati/php-extension-installer:2 /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions \ RUN install-php-extensions \
pdo_sqlite \
mbstring \
dom \
xml \
fileinfo \
pcntl \ pcntl \
gd gd
# nodejs is not used by the app's tests; the Forgejo/GitHub JavaScript actions # nodejs is not used by the app's tests; the Forgejo/GitHub JavaScript actions
# (checkout, cache) are executed with it inside this container. # (checkout, cache) are executed with it inside this container.
RUN apk add --no-cache git unzip nodejs 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 COPY --from=composer:2 /usr/bin/composer /usr/bin/composer