perf: #3615980 Reduce CI usage - shared Install + cache/DB-restore, gating, varbase-e2e, ^2

Ports the Varbase Project 11.0.x CI/test model to the Educare recipe. Issue: #3615980 (https://www.drupal.org/project/educare).

Educare is a drupal-recipe, so CI scaffolds a host Varbase site under testsite/ and applies the recipe with drush site:install recipes/educare. This MR keeps that exact host-build + recipe-apply flow but moves it into a shared pre-test job.

What changed

  • 📦 Install Varbase (pre-test): builds the host Varbase project, requires the checked-out Educare recipe, installs it (drush site:install recipes/educare), prepares it for deterministic testing, then dumps the DB. The built testsite/, the varbase-e2e node_modules and the Chromium browser are cached (key educare-build-$CI_COMMIT_REF_SLUG).
  • 🧪 varbase-e2e (test, 15 parallel buckets): pull the build cache + restore the DB dump (seconds) + serve + run — no composer create-project / require / site:install / npm install per job.
  • Path gating: every job gated on changed paths; a job whose files did not change stays listed as a non-optional manual (allow_failure: false), never dropped. Full pipeline runs on the default branch, release branches and tags.
  • Rename: the test job is now 🧪 varbase-e2e (Automated Functional Acceptance Testing in the description).
  • 📊 Create reports: DAG-scheduled via needs on the matrix so it is not held behind an un-played manual validate job.
  • Dependency: @vardot/varbase-e2e^2.
  • Recipe 14 tags on the feature files (feature-level @any @regression + domain/purpose), without @javascript (redundant with Playwright + a reserved runtime fail-mode tag); @slow/@flaky only on the Canvas editor scenarios.

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