The Tugboat preview base rebuilds daily (auto-rebuild at 04:00 UTC), and its update phase re-runs composer require under minimum-stability dev. With no prefer-stable and no drupal/core pin, and the tugboatqa/drupal:11 image shipping the newest 11.x, a freshly tagged drupal/core 11.4-beta1 gets installed.
On that beta, drush site:install standard composes differently: the Navigation module is now bundled, and the install no longer ends up with the page content type the seed relies on. The demo landing page created in .tugboat/setup.php is a node of type page, so its content-type entity resolves to null and the front page fatals in core's NodeThemeHooks::preprocessNode(): "Call to a member function displaySubmitted() on null".
Nothing in the repo changed; the daily re-resolution simply picked up the newly published core beta.
Fix
In the Tugboat update command:
- Add
composer config prefer-stable truealongside the existingminimum-stability dev, so packages that have a stable release (notablydrupal/core) are not floated to a pre-release, while pdv's alpha/dev dependencies are still allowed. - Because the base image already ships a core release, also pin core and pass
--with-all-dependenciesso composer is allowed to change it:composer require --with-all-dependencies 'drupal/core-recommended:^11.3' drupal/pdv .... A plain require of pdv would not downgrade an already-installed pre-release.
This only affects the Tugboat preview build; the module and its releases are unaffected.
Issue fork pdv-3595059
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 #5
mably commentedComment #7
mably commented