Allow all sub-modules to be compatible with next_major

Migrated issue

Reported by: jonathan1055

Related to !240 (merged)

Problem/Motivation

The work in #3396106: Allow modules to opt in to testing against Drupal 11 even before they support it allows a contrib module to opt in to testing at the Next Major core level, even before it declares compatibility. This is done by modifying the modue's own .info.yml file

grep -q "\^11" *.info.yml || (grep -q "\^10" *.info.yml && sed -i "s/\^10/\^10 \|\| ^11/" *.info.yml)

If the module has dependencies they need to be allowed to appear compatible by adding the names to

composer (next major):
  variables:
    LENIENT_ALLOW_LIST: devel,devel_generate,commerce,entity,address

This allows the corresponding Composer job to run sucessfully, which in turn allows PHPStan to run.

However, all the PHPunit jobs will fail because the required dependency modules cannot be installed. Every test gives, for example:

1) Drupal\Tests\scheduler\Functional\SchedulerEventsTest::testNodeEvents
Unable to install modules: module 'commerce_product' is incompatible with this version of Drupal core.

So phpunit testing with Next Major does not run and gives no helpful information at all.

Proposed resolution

It would be possible to use the $LENIENT_ALLOW_LIST list of modules, and make a similar change to each of those .info.yml files, so that they can be installed and phpunits run.

Extend the exitsing grep+sed to cover all sub-modules within the project.
There is no need to change test modules that have package: Testing.
Also no changes to third-party dependency modules.

Remaining tasks

Discuss if this this is worth it, before I start on any work.

User interface changes

API changes

Data model changes

Related issue: Issue #3230209

Related issue: Issue #3096609

Related issue: Issue #3387322

Edited by drupalbot