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 templatepre-test job builds the Varbase host, applies the recipe, seeds the per-role testing users and dumps the database. The 15 parallel🧪 varbase-e2ejobs 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 templatejob 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 reportsis DAG-scheduled on the test matrix so it is not held behind an un-played manual job. - Idempotent install. The install wipes
testsite/beforecomposer create-project, so a restored cache cannot fail the build with "Project directory is not empty". - The logs show the tests.
cucumber.jsuses@cucumber/pretty-formatter, so a test job prints the Feature text, each Scenario and every step instead of progress dots.package.jsonpins@cucumber/cucumber+@cucumber/pretty-formatterthrough npmoverrides(npm ignores yarnresolutions, which is why the formatter previously failed to load) and floats@vardot/varbase-e2eon^2like 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