Problem/Motivation
Discovered in #3365463: [DrupalCon] Automatic Updates alpha test result
From @wim leers
Actually, no, the root cause here is simpler: #1014086: Stampedes and cold cache performance issues with css/js aggregation landed a change in August 2022, which indeed added a new required argument to \Drupal\big_pipe\Render\BigPipeResponseAttachmentsProcessor::__construct().
The fact that this error message appears then leaves only one possible conclusion: the dependency injection container is not being rebuilt immediately after copying the files from "stage" to "active": at least one request is getting through to "active" before the container is rebuilt, which is causing this error message. 🫣
Steps to reproduce
Proposed resolution
We should add coverage in our build tests for code changes like this
- Create test module that has 2 version. The updated version should have a change in constructor for a class that is registered as a service. We may be able to just use
package_manager/tests/fixtures/build_test_projects/updated_modulefor this. - Move this module into core/modules for our Automatic Updates build tests. Put the updated version in the target codebase
- Enable this module in the Automatic Update build tests. Probably in
\Drupal\Tests\automatic_updates\Build\UpdateTestBase::createTestProject - Ensure there is no error reported from the the module changing
Remaining tasks
User interface changes
API changes
Data model changes
Issue fork automatic_updates-3366271
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
Comment #6
tedbow\Drupal\Tests\automatic_updates\Build\CoreUpdateTest::testUiwill fail with this change and the other methods in that class will pass but I am not sure about thisComment #7
tedbowOnce we figure this out we should test the update done #3365463: [DrupalCon] Automatic Updates alpha test result again
Comment #9
tedbowalso reported in #3366271: In Core build tests have core module change a service class constructor
Comment #10
tedbowComment #11
tedbowComment #12
phenaproxima