Problem/Motivation

Following with #3612699: Reduce CI usage

The functional testing pipeline already installs Varbase once in a pre-test job and restores the database in each of the 15 parallel test jobs (the DB restore is ~1s). But every test job still re-runs composer install (~75s), yarn install (~66s) and playwright install (~33s) — about 174s of build repeated 15 times, while only the site data actually needs to arrive.

Steps to reproduce

Read a recent pipeline's test job trace: the first ~200s is composer + yarn + playwright before cucumber starts; the DB restore itself is 1s.

Proposed resolution

  • Have the Install Varbase job populate the built trees (vendor, node_modules, the web docroot incl. the drupal-libraries-sync output) and the Playwright browsers into the shared build cache.
  • The 15 parallel test jobs pull that cache (pull-only) and skip composer/yarn/playwright entirely — they set up only the OS libs, Apache and the Node runtime, restore the DB dump (1s), and run.
  • Measure the real pipeline durations against the current one; if the cache transfer offsets the win, compare a single-tar-artifact variant and keep the faster.

Remaining tasks

  • ✅ 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

User interface changes

  • N/A

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • The parallel test jobs reuse the installed build from cache instead of rebuilding, cutting pipeline time.
Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

rajab natshah created an issue. See original summary.

  • rajab natshah committed f09961bb on 11.0.x
    perf: #3616266 Reuse the installed build cache in the parallel test jobs
    

  • rajab natshah committed 87560919 on 9.2.x
    perf: #3616266 Reduce CI usage on 9.2.x (cache reuse, path gating,...

  • rajab natshah committed b5e58d7f on 10.1.x
    perf: #3616266 Reduce CI usage on 10.1.x (cache reuse, path gating,...
rajab natshah’s picture

Issue summary: View changes

  • rajab natshah committed ada68c1d on 11.0.x
    fix: #3616266 Show only the Feature / Scenario / Step output in the 11.0...

  • rajab natshah committed 5f299288 on 9.2.x
    fix: #3616266 Show only the Feature / Scenario / Step output in the 9.2....
rajab natshah’s picture

Assigned: Unassigned » josebc
Status: Active » Needs review
Issue tags: +varbase_project-11.0.6
rajab natshah’s picture

Assigned: josebc » mohammed j. razem
rajab natshah’s picture

Assigned: mohammed j. razem » Unassigned
Issue summary: View changes
Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.