Remove support for PHPUnit 10

Created on 2 June 2025, about 1 month ago

Problem/Motivation

Placeholder to remove PHPUnit 10 when the right time comes.

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

📌 Task
Status

Postponed

Version

11.0 🔥

Component

phpunit

Created by

🇮🇹Italy mondrake 🇮🇹

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @mondrake
  • 🇮🇹Italy mondrake 🇮🇹
  • 🇮🇹Italy mondrake 🇮🇹
  • Merge request !12392Closes #3527934 → (Open) created by mondrake
  • 🇮🇹Italy mondrake 🇮🇹
  • Pipeline finished with Running
    20 days ago
    #524371
  • 🇬🇧United Kingdom catch

    Tagging for 11.3.0 release priority/release notes.

    I think if we remove support for running core tests with phpunit 10 but allow it for custom CI pipelines etc., that's a good compromise. The warnings here are currently causing performance tests jobs on 11.2.x to fail with phpunit warnings.

  • 🇺🇸United States xjm

    @catch and I discussed this and we think it's probably safe to do in 11.3 as a bridge toward using PHPUnit 12 (or even 13) in D12, so long as we retain the open constraint allowing PHPUnit 10 for contrib/custom CI that hasn't had a chance to update. As @catch stated:

    The worst disruption would be if you're running without customising anything in phpunit.xml in a custom CI, you might need to customise it. And the core test suite as a whole wouldn't run against phpunit 10 any more.

    The two reasons not to wait are:

    1. our phpunit.xml is not fully compatible with phpunit 11, and we don't have support (on ci, in run-tests.sh) for switching between different ones yet.
    2. phpunit 12 was released three months ago and phpunit 13 will be out before Drupal 12 is released

    That said, we'd like to re-evaluate this once it's ready for commit just to double-check that there's no additional disruption nor aspects that we missed, so adding the needs RM review tag for that.

    I wonder if a CR is enough of a notification about this change, or if we should do a core blog post or something? In the olden days this would have been the sort of thing we announced ahead of time on g.d.o/core but the core blog is a bit more (perhaps too) visible for that. Another thing to consider in our final RM review above.

    Anyway great issue! Thank you.

  • 🇬🇧United Kingdom catch

    I reviewed the issue, kicked off a pgsql and sqlite MR just in case, and ran the phpstan tests optional job, and I can't really see anything to complain about here at all - except that we need a change record and release note. So marking needs work for those, but from the MR perspective looks really good to me.

  • 🇮🇹Italy mondrake 🇮🇹

    While pondering on the CR to write, I realized we can probably do better here. If we do 📌 Allow indicating alternative phpunit.xml than core's when testing via run-tests.sh Active first, then we would be able to add here a PHPUnit 10 version of the phpunit.xml (i.e. a copy of the current phpunit.xml.dist in HEAD), and in the CR recommend contrib to switch to use it when running D11 tests with PHPUnit 10. Much neater and less instructions required to tell how to change the xml.

    In practice, we would swap the current state where phpunit.xml.dist supports PHPUnit 10 (and 11 with the warnings triggered), and .phpunit-next.xml is the PHPUnit 11 only, currently used for testing only. We would end up with a phpunit.xml.dist for PHPUnit 11 only, and a .phpunit-10.xml for PHPUnit 10 only.

Production build 0.71.5 2024