Description
- follows on from and replaces Github actions: "Re-run failed jobs" will run the entire test suite #531
What would you like?
Scenario
A GitHub Actions workflow contains a job using the parallel option of cypress-io/github-action
recording to Cypress Cloud which runs Cypress tests in multiple containers.
One or more Cypress tests fail.
GitHub Actions offers the option Re-run failed jobs
Enhancement
GitHub Actions and Cypress Cloud should work together so that selecting Re-run failed jobs only re-runs failed jobs using a frozen set of load-balanced Cypress test specs, so that each failed job runs with the same test specs it used in its previous run. The Cypress tests which were distributed to other jobs, and which were previously successful, should not be re-run.
Why is this needed?
Reduce the overhead of re-running flaky tests without also running tests which were previously successful.
Other
The README > parallel documentation section currently states:
If you use the GitHub Actions facility for Re-running workflows and jobs, note that Re-running failed jobs in a workflow is not suited for use with parallel recording into Cypress Cloud. Re-running failed jobs in this situation does not simply re-run failed Cypress tests. Instead it re-runs all Cypress tests, load-balanced over the containers with failed jobs.
To optimize runs when there are failing tests present, refer to optional Cypress Cloud Smart Orchestration Premium features:
- Spec Prioritization
- Auto Cancellation. See also Specify auto cancel after failures for details of how to set this option in a Cypress GH Action workflow.
- See previous issue Github actions: "Re-run failed jobs" will run the entire test suite #531 for extensive historical and background reading on this issue.