Skip to content

split up chrome tests#19209

Merged
SaschaCowley merged 5 commits into
masterfrom
split-chrome-tests
Nov 14, 2025
Merged

split up chrome tests#19209
SaschaCowley merged 5 commits into
masterfrom
split-chrome-tests

Conversation

@seanbudd

@seanbudd seanbudd commented Nov 12, 2025

Copy link
Copy Markdown
Member

Link to issue number:

Starts #18502

Summary of the issue:

Our system test bottle neck is chrome tests. There are too many chrome tests. They take up 20 min off time which could be parallelized down to 3-5min chunks

Description of user facing changes:

None

Description of developer facing changes:

Reduced PR times, better grouping logic when adding to chromeTests.robot.
Symbols tests are now the longest tests (6min). That means 14min from builds is shaved off from this PR.
Builds have gone from 40-45min to 30min on average.

Description of development approach:

Added tags to group chrome tests into sub groups.
This is to establish grounds for a potential refactor in the future.

Added timeout constraints to the 3 bottlenecks of the build: building NVDA source, building the launcher and system tests.
This is so we can monitor and constrain build time lengths.
With these constraints, we guarantee a 40min or faster build.

Testing strategy:

GitHub actions runners

Known issues with pull request:

This doesn't refactor the test files fully, just begins the proposal for logical groupings.
Further work is suggested to refactor chromeTests.py/chromeTests.robot

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.

@seanbudd seanbudd marked this pull request as ready for review November 12, 2025 09:18
@seanbudd seanbudd requested a review from a team as a code owner November 12, 2025 09:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR splits Chrome system tests into smaller parallel groups to reduce CI/CD execution time. The monolithic chrome test suite is divided into 6 logical groups based on functionality: chrome_annotations, chrome_list, chrome_table, chrome_language, chrome_roleDescription, chrome_misc_aria, and chrome_misc.

Key changes:

  • Tests are reorganized with tags for logical grouping
  • CI/CD workflow updated to run each chrome test group in parallel
  • License header updated to 2025 and modified to reference NVDA license terms

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
tests/system/robot/chromeTests.robot Reorganized tests into tagged groups; updated copyright year and license header
.github/workflows/testAndPublish.yml Replaced single chrome test suite with 6 parallel chrome test groups

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/system/robot/chromeTests.robot Outdated
Comment thread tests/system/robot/chromeTests.robot Outdated
Comment thread tests/system/robot/chromeTests.robot Outdated
seanbudd and others added 2 commits November 12, 2025 20:39
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Comment thread .github/workflows/testAndPublish.yml Outdated
Comment thread tests/system/robot/chromeTests.robot Outdated
@SaschaCowley SaschaCowley enabled auto-merge (squash) November 14, 2025 05:09
@SaschaCowley SaschaCowley merged commit 5b2459a into master Nov 14, 2025
41 checks passed
@SaschaCowley SaschaCowley deleted the split-chrome-tests branch November 14, 2025 05:35
@github-actions github-actions Bot added this to the 2026.1 milestone Nov 14, 2025
@seanbudd seanbudd mentioned this pull request Nov 17, 2025
5 tasks
seanbudd added a commit that referenced this pull request Nov 17, 2025
Follow up to #19209
Summary of the issue:

We added a 10min time limit to cap and measure builds.
This was just too low, as a recent build narrowly timed out.

A similar cap for the create launcher step also is timing out: https://github.com/nvaccess/nvda/actions/runs/19415041964
Description of user facing changes:

none
Description of developer facing changes:

builds shouldnt timeout unexpectedly
Description of development approach:

increase build timeout to 15min and launcher timeout to 30min
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.

3 participants