Skip to content

Commit

Permalink
Disable "fail fast" feature in "Test Go" workflow (arduino#2014)
Browse files Browse the repository at this point in the history
For efficiency, the "Test Go" GitHub Actions workflow splits the test suite into multiple jobs which run in parallel.
This is done via a "job matrix".

By default GitHub Actions uses a "fail fast" behavior for job matrixes, where all in progress or pending jobs of the
matrix are immediately canceled upon failure of any job.

The benefit of this "fail fast" behavior is efficiency in the case where a failure is universal and those other jobs
were certain to eventually fail. However, in other cases a failure is either specific to the configuration of a single
job (e.g., a Windows-specific bug), or a spurious result of a transient network outage. In the latter case, canceling
the other jobs is very harmful. Running the jobs for the other operating systems would highlight the nature of an
OS-specific failure for the contributor. Canceling other jobs due to a transient failure means all those jobs must be
reran instead of only the specific job that suffered the failure.

The workflow is hereby configured to disable the "fail fast" behavior. All the matrix jobs will now run even if one of
them has failed.
  • Loading branch information
per1234 authored Dec 19, 2022
1 parent 62b4493 commit de90579
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/test-go-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ jobs:
test-integration:
needs: tests-collector
strategy:
fail-fast: false
matrix:
operating-system:
- ubuntu-latest
Expand Down Expand Up @@ -113,6 +114,7 @@ jobs:
test:
needs: run-determination
strategy:
fail-fast: false
matrix:
operating-system:
- ubuntu-latest
Expand Down

0 comments on commit de90579

Please sign in to comment.