feat(drupal-core): switch to amateescu/ddev-drupal-dev scaffolding, fixes #142#145
Merged
Merged
Conversation
Replace joachim-n/drupal-core-development-project (composer create-project) with a direct git clone of drupal/drupal + the amateescu/ddev-drupal-dev DDEV add-on. This eliminates ~440 lines of bash: the inline-alias JSON fixups, json-schema pin, vendor symlink restoration, and branch-aware composer update -W are no longer needed because the add-on's composer.local.json overlay keeps core's composer.json untouched. - Drupal version is now set by git branch (main/11.x/10.x), not by Composer constraints - Issue forks still work: git remote add issue + fetch + checkout - Old joachim-n workspaces are detected and kept as-is with a note to recreate; docroot auto-detects old vs new scaffolding - cache_path is now optional (default = ""); cache seed is used as a git --reference hint with fallback to direct clone - drush added via ddev composer require into composer.local.json - Welcome message and ddev launch now document ddev add-module, ddev phpunit, and link to https://github.com/amateescu/ddev-drupal-dev Closes #142 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
With amateescu/ddev-drupal-dev, Drupal's index.php is at the project root (not web/) and the git repo is at drupal-core/ (not repos/drupal/). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
DRUPAL_BRANCH was computed after the git clone block that used it, causing the empty-branch condition to trigger git checkout of an empty string. This set SETUP_FAILED=true, skipping drush si and breaking the CI drush db-connected check. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The cache no longer needs a full DDEV project (vendor/, composer.json, etc.). Only repos/drupal/ is needed as a git --reference hint for faster workspace clones. update-drupal-cache now runs git fetch instead of ddev composer update; service drops the Docker dependency and uses a 5-minute timeout. server-setup.md Step 10 updated with new initial setup, migration steps for existing servers, and updated troubleshooting. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The cache seed is now a plain git clone at the seed directory root. The old repos/drupal/ nesting was pure legacy from the joachim-n scaffolding. Template checks for $CACHE_SEED/.git; update script and docs updated accordingly. README, quickstart, and test script all rewritten for the amateescu/ddev-drupal-dev flow. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
rfay
added a commit
that referenced
this pull request
May 10, 2026
The migration instructions copied from PR #145 were incomplete: - Missing timer file install (drupal-cache-updater.timer) - Missing User=YOURUSER substitution in the service file - Missing systemctl enable --now drupal-cache-updater.timer Without these, the hourly auto-update never runs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cache seed — required admin action on both servers
The cache structure has changed. The seed is now a plain git clone at the root of the seed directory (no `repos/drupal/` nesting). The startup script checks for `.git` at the seed root and uses it as a `git --reference` hint.
The old `repos/drupal/` structure is not detected — new workspaces will fall back to a direct clone (slower) until the cache is migrated.
Run these steps on each server:
After migration, `~/cache/drupal-core-seed` is the git clone itself — `.git` at the root. The updated `update-drupal-cache` script runs `git fetch --all --prune` instead of `ddev composer update`.
Full instructions (including fresh setup for new servers) are in `docs/admin/server-setup.md` Step 10.
Closes #142
Test plan
🤖 Generated with Claude Code