@samitouri / QOS-React / commits / eda36a1c75

[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: