task: #3622094 Test Horizon Aid on Drupal CMS only, and rename the test job to functional testing
Issue: #3622094 Test Horizon Aid on Drupal CMS only, and rename the test job to functional testing
Problem / Motivation
Horizon Aid is a Drupal CMS site template, but the pipeline built two hosts for every run: a drupal/varbase_project:11.0.x-dev host that this template is not shipped for, and a Drupal CMS host. That doubled every pre-test minute for a host nothing is tested against.
The pipeline is also red on 1.0.x itself right now, and not because of any merge request. Pipeline 953793 on cb331f3 (plain 1.0.x) fails BOTH install jobs at composer require, before any Drupal command runs:
In Patches.php line 288:
No available patcher was able to apply patch
https://raw.githubusercontent.com/vardot/varbase-patches/refs/heads/patches/canvas--2026-07-26--3560889--mr-1425.patch
to drupal/canvasThat patch targets src/Plugin/Canvas/ComponentSource/JsComponent.php and no longer applies to drupal/canvas 1.11.0 — the hunk context has drifted, and it only lands with patch -p1 at fuzz 1 and offset 72 lines, which the stricter composer-patches patchers reject.
Proposed resolution
Touches .gitlab-ci.yml only (+95 / −192):
- Removes the
📦 (Varbase) Install Horizon Aid site templatejob — it built adrupal/varbase_project:11.0.x-devhost this template is not shipped for, and doubled every pre-test minute. - Makes
🧩 (Drupal CMS) Install Horizon Aid site templatethe single host build. It now also prepares the installed site for deterministic testing (uninstallantibotandautosave_form, raise theuser.floodlimits,system.logging error_level all), seeds the six per-role testing users, installs the functional suite plus Chromium, and dumps the database as thehorizonaid-db.sql.gzartifact. - Points the test job at that job and renames it
🧪 Functional testing; movesSITE_DIR/WEB_ROOTand the build cache fromtestsite/tocmssite/(drush lives invendor/binon adrupal/cmsroot, notbin/). - Drops the
vardot/varbase-patcheswiring from the pipeline — which is what unblocks the red pipeline above.
Verification
All local, on plain drupal/cms, Drupal core 11.4.6, drupal/canvas 1.11.0, PHP 8.4, DDEV, MariaDB, no patches of any kind:
drush site:install recipes/horizonaid→ exit 0, zero warnings, zero PHP errors in watchdog.drush site:install drupal_cms_installer installer_site_template_form.add_ons=horizonaid→ exit 0, zero warnings.- The rewritten
.gitlab-ci.ymlis accepted by the GitLab CI lint API (valid: true); the only warnings are the pre-existing deprecatedretry: when: stuck_or_timeout_failurevalues, untouched here.
Note that those installs also need the fix in #3622092 (MR !83 (merged)), plus #3621847 (MR !81 (merged)) and #3621848 (MR !82 (merged)) for a fully warning-free run. This merge request is only about which host CI builds and what the test job is called.
Note for reviewers
The stale canvas--2026-07-26--3560889--mr-1425.patch still needs its own fix in vardot/varbase-patches — re-roll it against canvas 1.11.0, or drop it if it has been superseded upstream. Dropping the patch stack here unblocks Horizon Aid, but it does not fix varbase-patches for its other consumers.
AI usage
AI-Generated: Yes
Assisted by Claude Code (Claude Opus 5). The two installs were run locally by a human, and the pipeline file was checked against the GitLab CI lint API. Nothing in this merge request has been reviewed yet.
Checkpoints:
- 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