ci: #3611896 Bootstrap composer-drupal-lenient in CI so CKEditor Media Resize resolves against Drupal core 11.4

This ports the CI fix already independently proven by !7 (merged) onto 1.0.x directly.

Closes #3611896 (https://www.drupal.org/project/varbase_events_base/issues/3611896).

What / why

The 🧪 Automated Functional Testing job assembles a throwaway Varbase 11 site (composer create-project drupal/varbase_project:11.0.x-dev + composer require "drupal/varbase_events_base:@dev" drush/drush:^13 -W). On the current 1.0.x HEAD this fails to resolve: drupal/ckeditor_media_resize 1.1.0 declares drupal/core ~10.5.0 || ~10.6.0 || ~11.2.0 || ~11.3.0 (upstream #3607786, not ours to fix), which conflicts with the root ~11.4.0 requirement and breaks the whole varbase_starter -> varbase_editor_base chain. See failing job 11027103 / pipeline 894306.

varbase_project already declares mglaman/composer-drupal-lenient with an extra.drupal-lenient.allowed-list for drupal/ckeditor_media_resize, but a plugin that influences dependency resolution must already be active before the solve — a plugin only listed in require isn't installed until after a successful solve, so on this lock-less create-project --no-install + require it never engages.

The fix: bootstrap mglaman/composer-drupal-lenient globally in before_script, before composer create-project runs, so Composer's globally-loaded plugin is active for the real solve.

Evidence this exact fix works

This is not new/unverified — it is a direct port of the identical snippet already carried by the unrelated open MR !7 (merged) (#3611860). Its job 11025212 / pipeline 894183 shows the solve succeeding (Locking drupal/ckeditor_media_resize (1.1.0)), and composer require succeeding on the first attempt. !7 (merged) is unrelated in scope (removes a temporary Varbase Components issue-fork pin) and is not touched by this MR; this MR ports the same CI fix onto 1.0.x directly since !7 (merged) has not merged yet.

Out of scope: job 11025212 still went red overall, but only because of a separate, pre-existing, unrelated bug — a missing local patch file (patches/canvas-3575644-string-long-regex-ai-context-item.patch) referenced by the curated Varbase patch set, breaking composer install's patch-application step. This MR does not touch that.

Change

Nine lines added to .gitlab-ci.yml's 🧪 Automated Functional Testing job before_script, right after apt-get install -y nodejs:

composer global config --no-plugins allow-plugins.mglaman/composer-drupal-lenient true
composer global require mglaman/composer-drupal-lenient --no-interaction --no-progress

No other lines changed.

AI-Generated: Yes (root-caused via a sandboxed Docker reproduction of the CI image and cross-checked against a live pipeline run on an unrelated MR; wrote the issue, commit and MR)

Checkpoints

  • File an issue about this project
  • Addition/Change/Update/Fix to this project
  • Testing to ensure no regression
  • Automated unit/functional testing coverage
  • Developer Documentation support on feature change/addition
  • User Guide Documentation support on feature change/addition
  • UX/UI designer responsibilities
  • Accessibility and Readability
  • Reviewed by a human
  • Code review by maintainers
  • Full testing and approval
  • Credit contributors
  • Review with the product owner
  • Update Release Notes
  • Release
Edited by Rajab Natshah

Merge request reports

Loading