Problem/Motivation
Both core and gitlab templates (used in all contrib) rely heavily on images from this project.
When we had the need for a higher sqlite version, the "ubuntu-apache" variants were created, for PHP 8.3 and 8.4.
In the case of core, it's easier to control the image to use per branch as it is "just" one project, but the "gitlab_templates" project servers all contrib and also allows running current/previous/next minor/major versions of Drupal for the contrib modules. Due to this, we need to set one image or another depending on the version of Drupal, but if maintainers want to test other versions of PHP, then even more changes are needed.
We are trying to do the heavy lifting in the templates, but even that is challenging as seen in the issues here:
#3482069: SQLite version too low for Drupal 11 - update default php image to ubuntu-apache
#3483075: Update CORE_PHP_NEXT to 8.4
#3486021: Unable to run "composer (previous major)" from pipeline UI; no image
And more issues...
Proposed resolution
I suggest that we create the following images, to avoid issues like the above ones:
- 7.4-ubuntu-apache (it can be the same as 7.4-apache)
- 8.0-ubuntu-apache (it can be the same as 8.0-apache)
- 8.1-ubuntu-apache (it can be the same as 8.1-apache)
- 8.2-ubuntu-apache (it can be the same as 8.2-apache)
They don't need to have anything different, just be available under that name so the CI jobs find them. That would help the "gitlab_templates" project immensely.
If creating aliases or tags does the same thing then we might not need to create the images, I just don't know enough about the options available.
Comments
Comment #2
fjgarlin commentedLinking related issues.
Comment #3
fjgarlin commentedComment #4
jonathan1055 commentedNice idea! This would really help to reduce support issues and maintain BC in customized templates.
Comment #5
fjgarlin commentedIf aliases or tags have the same effect, those would be totally ok. I just don't know enough about dockerhub to know which solution might be easier. I'll edit the IS with this.
Comment #6
andypostFor me the biggest question is why we need to build new images for unsupported PHP versions?
Except security issues there's C-code incompatibilities with nowadays versions of Openssl, curl and databases
Comment #7
fjgarlin commentedNo need to build anything if making aliases / tags of existing images is an option.
The goal here is that 8.1-apache and 8.1-ubuntu-apache (and the other versions listed in the issue) download THE SAME image.
Comment #8
andypostI did tag current images but only for
:productiontag, it should unblock the issueLog
Comment #9
fjgarlin commentedhttps://hub.docker.com/r/drupalci/php-8.1-ubuntu-apache
Thanks so much! This helps a great deal!!
Comment #10
jonathan1055 commentedTested here and it works - using
drupalci/php-7.4-ubuntu-apache:productionhttps://git.drupalcode.org/project/scheduler/-/jobs/3428789