From aa4c3ad2b754610cc7621290204485f944831812 Mon Sep 17 00:00:00 2001 From: myrmidex Date: Sat, 15 Aug 2026 01:48:47 +0200 Subject: [PATCH] 147 - Base the CI image on Debian instead of Alpine --- .forgejo/workflows/ci.yml | 2 +- .forgejo/workflows/images.yml | 2 +- docker/build/Dockerfile.ci | 17 +++++++++++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index a99a86a9..1f16d305 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: ci: runs-on: docker 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: - uses: https://data.forgejo.org/actions/checkout@v4 diff --git a/.forgejo/workflows/images.yml b/.forgejo/workflows/images.yml index 643e7528..ba694bfd 100644 --- a/.forgejo/workflows/images.yml +++ b/.forgejo/workflows/images.yml @@ -21,7 +21,7 @@ jobs: version: php8.3-1 - name: fedi-feed-router-ci file: docker/build/Dockerfile.ci - version: php8.3-1 + version: php8.3-2 steps: - uses: https://data.forgejo.org/actions/checkout@v4 diff --git a/docker/build/Dockerfile.ci b/docker/build/Dockerfile.ci index d63a4c1c..50857a02 100644 --- a/docker/build/Dockerfile.ci +++ b/docker/build/Dockerfile.ci @@ -6,18 +6,27 @@ # cache mutable tags and will not re-pull them, so bump the revision in the tag # and in ci.yml whenever this file changes. # -# php:alpine already bundles the rest of what composer.lock requires. gd is not -# declared anywhere but ThumbnailUploader calls it directly. -FROM php:8.3-alpine +# Debian-based rather than alpine: the alpine build hit repeated DNS resolution +# timeouts against codeload.github.com during composer install. +# +# 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/ RUN install-php-extensions \ + pdo_sqlite \ + mbstring \ + dom \ + xml \ + fileinfo \ pcntl \ gd # 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 +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