Skip to content

Fix drupal-contrib D12 tests tracking a frozen alpha tag instead of core HEAD - #212

Merged
rfay merged 1 commit into
mainfrom
20260926_rfay_fix_drupal12_dev_tracking
Sep 26, 2026
Merged

rfay merged 1 commit into
mainfrom
20260926_rfay_fix_drupal12_dev_tracking

Conversation

@rfay

@rfay rfay commented Sep 26, 2026

Copy link
Copy Markdown
Member

Summary

  • The drupal-contrib D12 test cell resolves drupal/core via a ^12 Composer constraint, which — combined with expand_composer_json.php's prefer-stable=true — always picks the latest tagged prerelease (currently 12.0.0-alpha1, frozen at 2 Sep 2026) instead of the continuously-updated 12.0.x dev branch.
  • This meant CI kept failing on a Twig 3.30 EscaperRuntime::escape() TypeError (drupal.org #3625969) for weeks after the fix landed on 12.0.x, since no new prerelease tag had been cut to carry it forward. See run 36273741979.
  • Fix: use an explicit 12.x-dev constraint for drupal_version=12, which Composer always honors regardless of prefer-stable/minimum-stability, so this cell actually tracks core HEAD as its workflow comment claims. Versions 10/11 are untouched since they have real stable tagged releases.

Test plan

  • terraform fmt -recursive (no changes needed beyond the edit)
  • make validate — all templates valid
  • make test-templates — all templates pass (13/13, 13/13, 18/18)
  • Confirm the Contrib skipto D12 (plain, GH) job in CI now installs a 12.0.x-dev core build past commit 836a5ba6 and passes

🤖 Generated with Claude Code

…ore HEAD

The D12 test cell resolves drupal/core via a "^12" constraint, which
Composer's prefer-stable logic always resolves to the latest tagged
prerelease (currently 12.0.0-alpha1, frozen at 2 Sep 2026) rather than
the continuously-updated 12.0.x dev branch. This caused CI to keep
failing on a Twig 3.30 TypeError (drupal.org #3625969) for weeks after
the fix landed on 12.0.x, because no new prerelease tag had been cut.

Use an explicit "12.x-dev" constraint for version 12, which Composer
always honors regardless of prefer-stable/minimum-stability, so this
cell tracks core HEAD as intended. Versions 10/11 are unaffected since
they have real stable tagged releases.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-26 22:43 UTC

@rfay
rfay merged commit b5ae609 into main Sep 26, 2026
16 checks passed
@rfay
rfay deleted the 20260926_rfay_fix_drupal12_dev_tracking branch September 26, 2026 22:43
rfay added a commit that referenced this pull request Sep 27, 2026
…#216

The new phpunit CI step added earlier in this branch failed on the
"Contrib skipto D12 (plain, GH)" cell with "Cannot open bootstrap
script core/tests/bootstrap.php":
https://github.com/ddev/coder-ddev/actions/runs/36280470996/job/108511195288

drupal_version=12 has no stable tag yet, so it resolves to the
12.x-dev branch (see #212). Composer's default dist install for a
-dev/branch version fetches a GitHub zipball, which is a git-archive
snapshot honoring drupal/core's own .gitattributes export-ignore
rules -- and those strip core/tests entirely. D10/D11 are unaffected
since they resolve to real tagged releases, whose dist packages
aren't built this way.

Verified: a plain `git clone` of the same ref includes tests/, and
forcing `composer config preferred-install.drupal/core source` (so
Composer does a real clone instead of downloading the zipball) fixes
it end-to-end -- confirmed core/tests present and the CI smoke test
(`ddev phpunit web/core/modules/system/tests/src/Functional/System/PageTitleTest.php`)
passing on a fresh workspace.

Set that config only for drupal_version=12, before `ddev poser` runs;
D10/D11 are untouched since forcing source there would only slow
down every install for no benefit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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