Problem/Motivation

According to #3346338-38: [11.x] [policy] Set the SQLite minimum requirement to at least 3.45 we need both versions of sqlite to run tests

Proposed resolution

Use ubunty:noble base docker image as it's going to be LTS before 11.x release

Remaining tasks

User interface changes

API changes

Data model changes

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

andypost created an issue. See original summary.

andypost’s picture

base image size is mostly the same

debian                           bookworm-slim       b8ae8a9ddccc   6 days ago      74.8MB
ubuntu                           noble               6cec0ad1bbca   10 days ago     77.5MB

andypost’s picture

Status: Active » Needs review
andypost’s picture

Pushed drupalci/php-8.3-apache-ubuntu:dev unpacked 708MB

andypost’s picture

Assigned: andypost » Unassigned

The only difference

--- 8.3-apache/Dockerfile	2024-01-18 13:35:14.483208901 +0100
+++ 8.3-apache-ubuntu/Dockerfile	2024-02-07 00:12:51.629285214 +0100
@@ -4,7 +4,7 @@
 ARG PHPIZE_DEPS="autoconf file g++ gcc make pkg-config re2c"
 ARG PHP_CFLAGS="-O2 -g"
 
-FROM debian:bookworm-slim as builder
+FROM ubuntu:noble as builder
 
 ENV DRUPALCI=TRUE TERM=xterm
 
@@ -40,9 +40,9 @@
         apache2-dev apache2 \
         libcurl4-openssl-dev \
         libedit-dev \
-        libfreetype6-dev \
+        libfreetype-dev \
         libicu-dev \
-        libjpeg62-turbo-dev \
+        libjpeg-turbo8-dev \
         libonig-dev \
         libkrb5-dev \
         zlib1g-dev \
@@ -57,7 +57,7 @@
         libxslt1-dev \
         libyaml-dev \
         libzip-dev \
-        ncurses-dev \
+        libncurses-dev \
     " &&\
     apt-get install -qy $PHPIZE_DEPS $buildDeps --no-install-recommends --allow-downgrades &&\
     rm -rf /var/lib/apt/lists/*
@@ -141,7 +141,7 @@
 # Php Setup
 ######
 
-FROM debian:bookworm-slim
+FROM ubuntu:noble
 
 ENV DRUPALCI=TRUE TERM=xterm
 
@@ -156,14 +156,14 @@
     buildDeps=" \
         libedit2 \
         libfreetype6 \
-        libicu72 \
-        libjpeg62-turbo \
+        libicu74 \
+        libjpeg-turbo8 \
         libonig5 \
         libkrb5-3 \
         libpng16-16 \
         zlib1g \
         libwebp7 \
-        libavif15 \
+        libavif16 \
         libaom3 \
         libsqlite3-0 \
         libpq5 \
quietone’s picture

Priority: Normal » Critical

changing to critical because this is needed for Drupal 11.

andypost’s picture

As this image will be stable in April lets wait for it

andypost’s picture

andypost’s picture

andypost’s picture

From slack @fjgarlin

So how about:

  • 8.3-sqlite3.2-apache
  • 8.3-sqlite3.5-apache

That way we’d just need to change the _TARGET_PHP from 8.3 to 8.3-sqlite3.2 for the sqlite jobs

  • andypost committed 50cb73c9 on dev
    php: rename 8.3-apache-ubuntu to 8.3-ubuntu-apache #3419616
    

  • andypost committed 956db2da on production
    php: add 8.3-ubuntu image with sqlite 3.45 #3419616
    
andypost’s picture

fjgarlin’s picture

I know this is already merged into production, but the name is probably not very clear. What's the difference between 8.3-apache and 8.3-ubuntu-apache? We know now that it's the sqlite, but not sure if we'll know in a few months.

As suggested in the slack thread, the php image could be called `8.3-sqlite3.45` instead.

I suggest having 3 images in this case:
- `8.3-apache` (this already exists) - important for PHP version but can't guarantee a sqlite version.
- `8.3-sqlite3.45-apache`
- `8.3-sqlite3.26-apache` (this might even be a clone of `8.3` but we are making the version explicit)

daffie’s picture

@andypost: Thanks!

andypost’s picture

@fjgarlin nice idea, technically we should start use tags for images so renames could go easily

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.