Page MenuHomePhabricator

CI Docker images failing to build
Closed, ResolvedPublic

Description

Spotted when running docker-pkg on contint.wikimedia.org:

ERROR: image docker-registry.discovery.wmnet/releng/node12-test-browser-php80-composer failed to build, see logs for details
ERROR: image docker-registry.discovery.wmnet/releng/node10-test-browser-php80-composer failed to build, see logs for details
ERROR: image docker-registry.discovery.wmnet/releng/node12-test-browser-php72-composer failed to build, see logs for details
ERROR: image docker-registry.discovery.wmnet/releng/node10-test-browser-php72-composer failed to build, see logs for details

node12-test-browser-php80-composer:0.1.0

php8.0-common : Depends: libffi6 (>= 3.0.10~rc8) but it is not installable
php8.0-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable
php8.0-mbstring : Depends: libonig4 (>= 5.9.5) but it is not installable (image.py:210)

node10-test-browser-php80-composer:0.0.1-s4

php8.0-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable
php8.0-mbstring : Depends: libonig4 (>= 5.9.5) but it is not installable (image.py:210)

node12-test-browser-php72-composer:0.1.0

php7.2-cli : Depends: libsodium18 (>= 1.0.10) but it is not installable
php7.2-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable (image.py:210)

node10-test-browser-php72-composer:0.1.4-s9

php7.2-cli : Depends: libsodium18 (>= 1.0.10) but it is not installable
php7.2-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable (image.py:210)

The node 12 ones come from 242dc1456a5f08a10d149a7e21cb5179f3208930

The others are failing after f0b6b23183139fc6008a88d03968037d717383c2 which was to update php-ast.

I am guessing the issue is unrelated and is due to some update in the Sury packages.

Event Timeline

I have looked a bit at node12-test-browser-php80-composer, versioned dependencies are missing on bullseye:

PackageDependencyBullseye
php8.0-commonlibffi6libffi7
php8.0-curllibcurl3libcurl4
php8.0-mbstringlibonig4libonig5

And the source from Sury lists stretch: https://packages.sury.org/php stretch/main

And I guess that is the same issue for the other images: they got moved to Buster or Bullseye without adjusting the sury source.

dockerfiles/node10-test-browser-php80-composer/Dockerfile.template:25: echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list
dockerfiles/node12-test-browser-php80-composer/Dockerfile.template:25: echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list

Change 720020 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] dockerfiles: fix sury component

https://gerrit.wikimedia.org/r/720020

That should fix it for the php80 based images.

For the php72 ones, I guess they got moved to Buster or Bullseye but since they:

COPY --from=php72 /etc/apt/sources.list.d/wikimedia-php72.list /etc/apt/sources.list.d/wikimedia-php72.list

They get a stretch component:

cat php72/wikimedia-php72.list
deb http://apt.wikimedia.org/wikimedia stretch-wikimedia component/php72
                                       ^^^^^^^^^^^^^^^^^

I guess we got packaged build for Buster, I can't tell about Bullseye.

Aha, thanks. Was meaning to get to this this weekend.

Change 720020 merged by jenkins-bot:

[integration/config@master] dockerfiles: fix sury component

https://gerrit.wikimedia.org/r/720020

Mentioned in SAL (#wikimedia-releng) [2021-09-09T19:42:11Z] <James_F> Docker: Building node{10,12}-test-browser-php80-composer for T290651

Aklapper renamed this task from CI Docker images failling to build to CI Docker images failing to build.Sep 9 2021, 8:44 PM

Change 720140 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] Docker: Drop node{10,12}-test-browser-php72-composer, now unused

https://gerrit.wikimedia.org/r/720140

Change 720140 merged by jenkins-bot:

[integration/config@master] Docker: Drop node{10,12}-test-browser-php72-composer, now unused

https://gerrit.wikimedia.org/r/720140

Jdforrester-WMF claimed this task.

Fixed by dropping the PHP72 images. ;-)