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 builttestsite/, the varbase-e2enode_modulesand the Chromium browser are cached (keyeducare-build-$CI_COMMIT_REF_SLUG).🧪 varbase-e2e(test, 15 parallel buckets): pull the build cache + restore the DB dump (seconds) + serve + run — nocomposer create-project/require/site:install/npm installper 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 vianeedson 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/@flakyonly 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