Skip to content

Split up system tests for speed#18211

Merged
seanbudd merged 7 commits intomasterfrom
splitUpSystemTests
Jun 4, 2025
Merged

Split up system tests for speed#18211
seanbudd merged 7 commits intomasterfrom
splitUpSystemTests

Conversation

@seanbudd
Copy link
Copy Markdown
Member

@seanbudd seanbudd commented Jun 3, 2025

Link to issue number:

Part of #17878

Summary of the issue:

System tests are the slowest part of the GitHub actions build, taking about 20min.
System tests could be split up to speed up the build, run in parallel via a matrix.

Description of user facing changes:

None

Description of developer facing changes:

  • System tests speed will reduce by 3min.
  • System test suite results will be created separately.
  • Install logs will be in the same artifact as the rest of each system test suites results.

Description of development approach:

Use a matrix and env variable to set the system test suite up to run test suites simultaneously across runners.

Testing strategy:

This PRs GitHub actions CI/CD results.

Tested a failure using known failing tests: https://github.com/nvaccess/nvda/actions/runs/15410983376.
When this test suite failed, other tests continued on running as intended. i.e. one test failure still allows the rest of the tests to complete for reporting, but doesn't pass the build.

Known issues with pull request:

Ideally we should split up the chrome testing suite into logical subgroups.
We could save about 10min/build splitting it into 4+ groups.
Then we can parallelize more of the chrome tests.
This should be considered in a different issue/PR.

More documentation may be needed in tests/system/readme.md. Any suggestions on what to add?

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

@coderabbitai summary

@seanbudd seanbudd marked this pull request as ready for review June 3, 2025 07:59
@seanbudd seanbudd requested a review from a team as a code owner June 3, 2025 07:59
@seanbudd seanbudd requested a review from SaschaCowley June 3, 2025 07:59
Co-authored-by: Sascha Cowley <16543535+SaschaCowley@users.noreply.github.com>
@seanbudd seanbudd merged commit a7012f5 into master Jun 4, 2025
3 of 5 checks passed
@seanbudd seanbudd deleted the splitUpSystemTests branch June 4, 2025 00:32
@github-actions github-actions bot added this to the 2025.2 milestone Jun 4, 2025
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.

2 participants