ci: #3635234 Run the functional tests faster and without the login timeout cascade

Issue: https://www.drupal.org/project/ai_media/issues/3635234

  • One build job per lane (Drupal core, Varbase) installs the site, applies the fixtures recipe, adds the testing users with drush and dumps the database.
  • Each test job runs as two parallel shards that restore that dump, warm the site with curl, then run their part of the suite.
  • retry: 1 in cucumber.js, and FEATURES picks a shard's feature files.
  • The login feature no longer creates users through the browser; tests/scripts/add-testing-users.js does it with drush.
  • An e2e browser cache job and GitLab caches keep the Playwright browser, the Composer downloads and the profile install between jobs and pipelines.

Lane time is the build job plus the slower shard.

Lane 1.0.x baseline (1029746) First version (1030662) With caches, cold (1030694) With caches, warm (1030728)
Drupal core 668 s 114 + 556 = 670 s 84 + 443 = 527 s 111 + 302 = 413 s
Varbase 1195 s 584 + 574 = 1158 s 316 + 700 = 1016 s 169 + 557 = 726 s

With warm caches both lanes take about 38% less time. 49/49 scenarios passed in every run, none retried; the login timeout cascade is gone. Runner minutes go up, because there are now seven e2e jobs instead of two.

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

🤖 Generated with Claude Code

Edited by Rajab Natshah

Merge request reports

Loading
Loading