[ci] Don't erroneously mark failures as successes (#32493)
Randomly noticed this when I looked at a recent [DevTools regression test run](https://github.com/facebook/react/actions/runs/13578385011). I don't recall why we added `continue-on-error` previously, but I believe it was to keep all jobs in the matrix running even if one were to fail, in order to fully identify any failures from code changes like build or test failures. There is now a `fail-fast` option which does this. [`continue-on-error`](https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idcontinue-on-error) now means: > Prevents a workflow run from failing when a job fails. Set to true to allow a workflow run to pass when this job fails. so it's not correct to use it.
lauren committed
Feb 28, 2025 at 13:06 UTC
eda36a1c75ff8ac09fb127f6e04d4af16e49f50f
4 files changed
+9
-7
.github/workflows/compiler_typescript.yml
+1
-1
@@ -75,8 +75,8 @@ jobs:
75
name: Test ${{ matrix.workspace_name }}
76
needs: discover_yarn_workspaces
77
runs-on: ubuntu-latest
78
- continue-on-error: true
78
strategy:
79
+ fail-fast: false
80
matrix:
81
workspace_name: ${{ fromJSON(needs.discover_yarn_workspaces.outputs.matrix) }}
82
steps:
.github/workflows/devtools_regression_tests.yml
+2
-2
@@ -100,6 +100,7 @@ jobs:
100
needs: build_devtools_and_process_artifacts
101
runs-on: ubuntu-latest
102
strategy:
103
+ fail-fast: false
104
matrix:
105
version:
106
- "16.0"
@@ -108,7 +109,6 @@ jobs:
109
- "17.0"
110
- "18.0"
111
- "18.2" # compiler polyfill
111
- continue-on-error: true
112
steps:
113
- uses: actions/checkout@v4
114
- uses: actions/setup-node@v4
@@ -135,6 +135,7 @@ jobs:
135
needs: build_devtools_and_process_artifacts
136
runs-on: ubuntu-latest
137
strategy:
138
+ fail-fast: false
139
matrix:
140
version:
141
- "16.0"
@@ -142,7 +143,6 @@ jobs:
143
- "16.8" # hooks
144
- "17.0"
145
- "18.0"
145
- continue-on-error: true
146
steps:
147
- uses: actions/checkout@v4
148
- uses: actions/setup-node@v4
.github/workflows/runtime_build_and_test.yml
+5
-3
@@ -38,8 +38,8 @@ jobs:
38
name: Flow check ${{ matrix.flow_inline_config_shortname }}
39
needs: discover_flow_inline_configs
40
runs-on: ubuntu-latest
41
- continue-on-error: true
41
strategy:
42
+ fail-fast: false
43
matrix:
44
flow_inline_config_shortname: ${{ fromJSON(needs.discover_flow_inline_configs.outputs.matrix) }}
45
steps:
@@ -117,6 +117,7 @@ jobs:
117
name: yarn test ${{ matrix.params }} (Shard ${{ matrix.shard }})
118
runs-on: ubuntu-latest
119
strategy:
120
+ fail-fast: false
121
matrix:
122
params:
123
- "-r=stable --env=development"
@@ -144,7 +145,6 @@ jobs:
145
- 3/5
146
- 4/5
147
- 5/5
147
- continue-on-error: true
148
steps:
149
- uses: actions/checkout@v4
150
with:
@@ -170,6 +170,7 @@ jobs:
170
name: yarn build and lint
171
runs-on: ubuntu-latest
172
strategy:
173
+ fail-fast: false
174
matrix:
175
# yml is dumb. update the --total arg to yarn build if you change the number of workers
176
worker_id: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
@@ -215,6 +216,7 @@ jobs:
216
name: yarn test-build
217
needs: build_and_lint
218
strategy:
219
+ fail-fast: false
220
matrix:
221
test_params: [
222
# Intentionally passing these as strings instead of creating a
@@ -250,7 +252,6 @@ jobs:
252
- 1/3
253
- 2/3
254
- 3/3
253
- continue-on-error: true
255
runs-on: ubuntu-latest
256
steps:
257
- uses: actions/checkout@v4
@@ -500,6 +501,7 @@ jobs:
501
needs: build_and_lint
502
runs-on: ubuntu-latest
503
strategy:
504
+ fail-fast: false
505
matrix:
506
browser: [chrome, firefox, edge]
507
steps:
.github/workflows/runtime_eslint_plugin_e2e.yml
+1
-1
@@ -20,13 +20,13 @@ jobs:
20
name: ESLint v${{ matrix.eslint_major }}
21
runs-on: ubuntu-latest
22
strategy:
23
+ fail-fast: false
24
matrix:
25
eslint_major:
26
- "6"
27
- "7"
28
- "8"
29
- "9"
29
- continue-on-error: true
30
steps:
31
- uses: actions/checkout@v4
32
with: