Problem/Motivation
The pipeline on 1.0.x is red. The install job π§© Drupal CMS - Horizon Aid fails before any Drupal command runs:
$ composer create-project drupal/cms "$SITE_DIR" --no-interaction --no-install --no-scripts Creating a "drupal/cms" project at "./cmssite" In CreateProjectCommand.php line 394: Project directory "/builds/project/horizonaid/cmssite" is not empty.
Cause: #3622094 moved the build cache from testsite/ to cmssite/, so .build_cache now restores the whole built site into $SITE_DIR, and composer create-project refuses a non-empty target.
The removed varbase_project job carried the guard for exactly this, rm -rf "$SITE_DIR", with the comment "The build cache may restore a stale testsite/; composer create-project refuses a non-empty target, so start from a clean dir on every run". That guard was lost when the job was deleted. The Drupal CMS job never needed it before, because its old .cms_cache held only .cache/composer.
- The FIRST pipeline on a fresh branch passes (no cache yet) and every subsequent one fails: pipeline 955281 on the #3622094 fork reached
drush site:install, then pipeline 955433 on1.0.xdied atcreate-project. - This also means the login fix from #3622112 has never actually executed in CI, so whether the functional suite goes green is still unknown.
Environment: git.drupalcode.org GitLab CI, mcr.microsoft.com/playwright:v1.56.0-noble image, Drupal core 11.4.6, plain drupal/cms, no patches.
Steps to reproduce
- Run the pipeline on a branch once (populates
.build_cachewithcmssite/). - Run it again on the same ref.
The second run fails at composer create-project with "Project directory ... is not empty."
Proposed resolution
Restore the guard in the install job, immediately before composer create-project:
# The build cache restores cmssite/, and composer create-project refuses a # non-empty target, so start from a clean directory on every run. - rm -rf "$SITE_DIR"
One line plus its comment. The rewritten pipeline is accepted by the GitLab CI lint API (valid: true).
AI-Generated: Yes. Assisted by Claude Code / Claude Opus 5, verified against the failing CI job log and the GitLab CI lint API.
Remaining tasks
- β File an issue
- β Addition/Change/Update/Fix
- β Testing to ensure no regression
- β Automated unit testing coverage
- β Automated functional testing coverage
- β UX/UI designer responsibilities
- β Readability
- β Accessibility
- β Performance
- β Security
- β Developer Documentation
- β User Guide Documentation
- β Reviewed by human
- β Code review by maintainers
- β Full testing and approval
- β Credit contributors
- β Review with the product owner
- β Release notes snippet
- β Release
User interface changes
- N/A
API changes
- N/A
Data model changes
- N/A
Release notes snippet
- N/A. CI only, nothing user-facing.
Issue fork horizonaid-3622114
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