perf: #3615987 Adopt the shared fast CI and show every test step

Brings Horizon Aid in line with the Educare and Varbase Starter site-template recipes, whose CI was reworked the same way.

What changes

  • One install, many test jobs. A 📦 (Varbase) Install Horizon Aid site template pre-test job builds the Varbase host, applies the recipe, seeds the per-role testing users and dumps the database. The 15 parallel 🧪 varbase-e2e jobs then restore that dump from a pull-only build cache (vendor, node_modules, testsite, browsers) instead of each one rebuilding and reinstalling the site.
  • Drupal CMS proof. A 🧩 (Drupal CMS) Install Horizon Aid site template job installs the recipe on a Drupal CMS host as well, with the wiring script and its composer asset.
  • Path gating. Every job is gated on the paths it cares about. A job whose files did not change stays listed as a non-optional manual (allow_failure: false) rather than being dropped, so nothing is silently skipped. 📊 Create reports is DAG-scheduled on the test matrix so it is not held behind an un-played manual job.
  • Idempotent install. The install wipes testsite/ before composer create-project, so a restored cache cannot fail the build with "Project directory is not empty".
  • The logs show the tests. cucumber.js uses @cucumber/pretty-formatter, so a test job prints the Feature text, each Scenario and every step instead of progress dots. package.json pins @cucumber/cucumber + @cucumber/pretty-formatter through npm overrides (npm ignores yarn resolutions, which is why the formatter previously failed to load) and floats @vardot/varbase-e2e on ^2 like every other Varbase package.

AI-Generated: Yes

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
Edited by Rajab Natshah

Merge request reports

Loading