Skip to content

fix(ci): restore Drupal CI and update to supported versions#889

Open
robdecker wants to merge 9 commits intomainfrom
fix/ci-phpcs-missing
Open

fix(ci): restore Drupal CI and update to supported versions#889
robdecker wants to merge 9 commits intomainfrom
fix/ci-phpcs-missing

Conversation

@robdecker
Copy link
Member

@robdecker robdecker commented Mar 6, 2026

Summary

All Drupal matrix jobs have been failing since at least Jan 2026 because drupal/core-dev no longer includes squizlabs/php_codesniffer.

Dependency fixes

  • Replace drupal/core-dev with drupal/core-dev-pinned (pinned to matrix Drupal version) to avoid composer/composer + json-schema dependency conflicts
  • Add drupal/coder for phpcs and Drupal/DrupalPractice coding standards
  • Use -W flag for single-pass dependency resolution instead of --no-install + separate install
  • Disable audit.block-insecure since Composer 2.9+ blocks older Drupal patch versions with filed security advisories

Matrix updates

  • Drupal: Drop EOL 10.0–10.3 and 11.0; test against 10.5.x, 10.6.x, 11.2.x
  • PHP: Drop EOL 8.1; keep 8.2, 8.3. Exclude 8.2 from 11.2.x (requires >= 8.3). Drop 8.4 until Drupal core resolves Twig/Symfony deprecation errors.

Test plan

  • Verify all Drupal matrix jobs pass (phpcs + PHPUnit)

drupal/core-dev no longer includes phpcs. All Drupal matrix
jobs have been failing since at least Jan 2026.
@vercel
Copy link

vercel bot commented Mar 6, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
next-drupal-next Ready Ready Preview, Comment Mar 7, 2026 0:00am
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
next-drupal Ignored Ignored Mar 7, 2026 0:00am
next-drupal-v1-6 Ignored Ignored Mar 7, 2026 0:00am

Request Review

composer was resolving drupal/core-dev to 8.0.0-beta15 instead
of the matching 10.x/11.x version, so phpunit was missing.
The --no-install + separate install approach caused lock file
conflicts with symfony/console. Using -W (--with-all-dependencies)
lets composer resolve the full dependency tree in one pass.
drupal/core-dev has irreconcilable dependency conflicts on older
Drupal versions (composer/composer requires justinrainbow/json-schema
^6 but older core-dev requires ^5). Require only what we need.
Drop EOL versions (Drupal 10.0-10.3, 11.0; PHP 8.1) whose
drupal/core-dev has irreconcilable dependency conflicts.
Test against actively supported Drupal 10.4.x LTS + 11.2.x
stable with PHP 8.2/8.3/8.4.
- Switch from drupal/core-dev to drupal/core-dev-pinned to avoid
  composer/composer + json-schema dependency conflicts
- Update matrix to currently supported Drupal versions:
  10.5.x, 10.6.x (security support through 2026), 11.2.x
- Update PHP matrix: drop EOL 8.1, add 8.4
- Add drupal/coder for phpcs (not included in core-dev-pinned)
Composer 2.9+ blocks packages with security advisories by default.
Older Drupal core patch versions have advisories filed against them,
preventing core-dev-pinned from resolving. Disabling block-insecure
since CI doesn't need security audit enforcement.
Drupal 11.2.10+ requires PHP >= 8.3.
Drupal core Twig internals trigger Symfony deprecation errors
on PHP 8.4 that fail the test suite. Re-add when core is clean.
@robdecker robdecker changed the title fix(ci): add drupal/coder to restore phpcs in CI fix(ci): restore Drupal CI and update to supported versions Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant