Closed (fixed)
Project:
Drupal core
Version:
10.3.x-dev
Component:
phpunit
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
11 Nov 2023 at 11:05 UTC
Updated:
21 Mar 2024 at 22:04 UTC
Jump to comment: Most recent
We're compatible with PHP 8.3 on the 11.x and 10.2.x branches and should make it the default PHP version on the 11.x for MR runs.
10.2.x can continue to default to PHP 8.2 since that's the recommended version.
$ docker run --rm -it --pull=always drupalci/php-8.3-apache:production php -v
production: Pulling from drupalci/php-8.3-apache
1f7ce2fa46ab: Pull complete
68efc844fce1: Pull complete
Digest: sha256:e620d309b390e9223ecb5d2e64464475510ac8579b2946b7e7e981339cbb7df8
Status: Downloaded newer image for drupalci/php-8.3-apache:production
PHP 8.3.0 (cli) (built: Nov 24 2023 01:55:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.0, Copyright (c) Zend Technologies
with Zend OPcache v8.3.0, Copyright (c), by Zend Technologies
set default to 8.3 for all jobs and move 8.2/mysql8 to daily jobs
Schedule this for after the 10.2.0 per #12.
review/commit
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
Comment #2
andypost8.3.0 release coming in 2 weeks https://wiki.php.net/todo/php83
CI images already upgraded to RC6 https://git.drupalcode.org/project/drupalci_environments/-/commit/917c45...
Comment #3
catch8.3 stable is out, so we should definitely do this on the 11.x (to also become 10.3.x) branch. 10.2 can stay on PHP 8.2 as the default I think.
Comment #5
andypostCreated MR for review
Comment #6
andypostAlso set 8.3 as default for composer/lint jobs
Comment #7
andypostComment #8
andypostI bet it needs follow-up to increase
\Drupal::RECOMMENDED_PHPlaterEDIT a-la #3397110: Increase RECOMMENDED_PHP to 8.2 for Drupal 10.2
Comment #9
smustgrave commented8.3 seemed to run fine so marking it as that's all the ticket said.
But could we still have it run against 8.2 for a while? Doubt most people are running to 8.3 on actual projects just yet.
Comment #10
catch@smustgrave 10.2 will keep running 8.2 as the default job, so every cherry-pick to that branch will get tested. We also have all the other on-commit and scheduled jobs too going back to PHP 8.1
Comment #11
longwaveNeeds rebase following #3404487: Run child jobs in sequence?
This will also make it harder to cherry-pick other CI config changes between 11.x and 10.2.x if we start to diverge.
Comment #12
catchI think it would be fine to schedule this for after the 10.2.0 release or early in the new year so that it's only getting patch cherry-picks and we potentially have less gitlab changes to make.
Comment #13
andypostComment #14
andypostrebased and fixed
Comment #15
smustgrave commentedSo this shouldn't be merged until 10.2.0 is out or does the rc1 count?
Comment #16
quietone commentedUpdating the title to reflect #12
Comment #17
xjmCan't we just go ahead now since the last patch release of 10.1 has already been created?
Comment #18
catch@xjm this is more about backports of gitlab YAML changes between 11.x and 10.2.x.
10.1.x was already very out of sync to the point we were unable to backport a lot of gitlab improvements to that branch due to merge conflicts. Once we make this change, it'll be harder to backport gitlab changes to 10.2 too.
Probably doesn't matter that much since at this point 10.2 will only get on-commit and scheduled runs most of the time and is unlikely to be an MR target, but since we're already running PHP 8.3 on commit a small delay seemed worth it to keep things in sync.
Once we require PHP 8.3 in 11.x, we'll have to do this then and also remove all the older PHP versions from the YAML, so it'll massively diverge at that point anyway I guess.
Comment #19
catchStill no hurry here IMO but we're officially after 10.2.0 so re-titling.
Comment #20
andypostFYI release of PHP 8.3.1 this week
Comment #21
bramdriesenThere is now also an RC ready for 8.3.2, so I guess it won't take ages before we see that one land as well.
So we're still waiting on the Drupal 10.3.x branch here, correct?
Comment #22
andypostminimized amount of changes in MR
Comment #23
catchWe can commit it to 11.x and not 10.2.x, and then 11.x will also become 10.3.x later, so it's not blocked on branching. It's just a question of making gitlab YAML backports harder.
Comment #24
bramdriesenI guess we can do that then to move forward with #3413268: Add PHP 8.3 requirement to Drupal 11.0.x?
Also checked the latest changes in the MR and still looks good!
Comment #25
longwaveI am a bit confused about the chaining of the on-commit and daily runs, but let's see what happens when this is committed.
Committed aec5864 and pushed to 11.x. Thanks!
Comment #28
catchI think this broke HEAD, reverted for now: https://git.drupalcode.org/project/drupal/-/pipelines/76250
Comment #29
longwaveWe are dropping PHP 8.2 and below for Drupal 11, so let's just remove that here.
Comment #31
longwaveOpened a new MR that drops support for PHP 8.1 and 8.2 in 11.x pipelines.
Comment #32
longwaveThe "needs" chains are quite annoying and difficult to get right, do we strictly need them? Is there a better way?
Comment #33
catchWe added them so that on-commit and daily pipelines would run one environment at a time instead of all at once, meaning that (hopefully) the same runners/pods can be used for the entire pipeline rather than having to start enough pods to run 5-10 environments at once.
Comment #35
andypostRemoval of previous PHP will help to backport changes from 10.x
Comment #37
catchCommitted/pushed to 11.x, thanks!
I think we should also make 8.3 the default environment on the 10.3 branch, 10.2 will still run against 8.2 on commit, so marking for backport there.
Comment #40
longwaveChanged 10.3.x to run on PHP 8.3 by default, rearranged the "needs" chains to fit.
Comment #41
catchThe various jobs on https://git.drupalcode.org/project/drupal/-/pipelines/113668 all look good, which is about as much as we're going to see without committing this.
Comment #42
alexpottCommitted d8b80ec and pushed to 10.3.x. Thanks!