Skip to content

ci: fold e2e tests into the tests.yml matrix instead of a separate workflow - #424

Merged
recca0120 merged 2 commits into
mainfrom
ci/merge-e2e-into-tests
Jul 13, 2026
Merged

ci: fold e2e tests into the tests.yml matrix instead of a separate workflow#424
recca0120 merged 2 commits into
mainfrom
ci/merge-e2e-into-tests

Conversation

@recca0120

Copy link
Copy Markdown
Owner

Summary

  • e2e.yml and tests.yml repeated the same environment setup (checkout, PHP, pnpm/node, composer stub installs) just to run different commands (pnpm test:e2e vs pnpm vitest --coverage).
  • e2e.yml only ever exercised one PHP version (8.4, since it only composer installs the v12/v4 stubs) but still ran its own 3-job OS matrix with a full duplicate setup.
  • Moved the e2e run into tests.yml as extra steps gated to the php == '8.4' leg of the existing os x php matrix (one e2e run per OS, same as before). Deleted e2e.yml.
  • Total CI jobs: 12 → 9.

Note

The php-8.4 leg installs every compatible PHPUnit/Pest stub version (not just v12/v4 like e2e.yml did), and .vscode-test.mjs picks the first detected stub per type — so e2e now runs against PHPUnit v9 / Pest v2 instead of v12/v4. Flagging this in case testing the newest version specifically was intentional; happy to follow up with a version pin in .vscode-test.mjs if so.

Test plan

  • Waiting on CI to confirm the merged php-8.4 legs still run e2e correctly on all 3 OSes

…rkflow

Both workflows repeated the same environment setup (checkout, PHP,
pnpm/node, composer stub installs) to run different commands. e2e.yml
only needed one PHP version and duplicated that setup across its own
3-job OS matrix. Run pnpm test:e2e as extra steps on the php-8.4 leg
of the existing os x php matrix (one run per OS, same as before),
cutting total CI jobs from 12 to 9 and removing the duplicated setup.

Note: since the php-8.4 leg now installs every compatible PHPUnit/Pest
stub version (not just v12/v4 like e2e.yml did), and
.vscode-test.mjs picks the first detected stub per type, e2e now
exercises PHPUnit v9 / Pest v2 instead of v12/v4. Worth revisiting if
testing the newest version specifically was intentional.
Now that the merged php-8.4 CI leg installs every compatible
PHPUnit/Pest stub version, picking stubs[0] selected the oldest
(v9/v2) instead of the newest (v12/v4) that e2e.yml used to test.
Use .at(-1) to pick the newest version actually available in the
current environment, restoring the original intent.
@recca0120
recca0120 merged commit ab01f8d into main Jul 13, 2026
9 checks passed
@recca0120
recca0120 deleted the ci/merge-e2e-into-tests branch July 13, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant