Skip to content

Commit bdebae8

Browse files
authored
feat(ci): selective testing escape hatch (#109136)
this adds the escape hatch for selective testing - apply the label `Trigger: Override Selective Testing` and backend-selective.yml will re-run, this time running the full suite!
1 parent 07cfb5c commit bdebae8

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

.github/workflows/backend-selective.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ name: '[NOT REQUIRED] backend (selective)'
22

33
on:
44
pull_request:
5+
types: [opened, synchronize, reopened, labeled]
56

67
concurrency:
78
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -14,6 +15,7 @@ env:
1415

1516
jobs:
1617
files-changed:
18+
if: "github.event.action != 'labeled' || github.event.label.name == 'Trigger: Override Selective Testing'"
1719
name: detect what files changed
1820
runs-on: ubuntu-24.04
1921
timeout-minutes: 3
@@ -36,7 +38,7 @@ jobs:
3638
filters: .github/file-filters.yml
3739

3840
prepare-selective-tests:
39-
if: needs.files-changed.outputs.backend == 'true'
41+
if: "(github.event.action != 'labeled' || github.event.label.name == 'Trigger: Override Selective Testing') && needs.files-changed.outputs.backend == 'true'"
4042
needs: files-changed
4143
name: prepare selective tests
4244
runs-on: ubuntu-24.04
@@ -154,7 +156,7 @@ jobs:
154156
retention-days: 1
155157

156158
calculate-shards:
157-
if: needs.files-changed.outputs.backend == 'true'
159+
if: "(github.event.action != 'labeled' || github.event.label.name == 'Trigger: Override Selective Testing') && needs.files-changed.outputs.backend == 'true'"
158160
needs: [files-changed, prepare-selective-tests]
159161
name: calculate test shards
160162
runs-on: ubuntu-24.04
@@ -183,13 +185,13 @@ jobs:
183185
- name: Calculate test shards
184186
id: calculate-shards
185187
env:
186-
SELECTED_TESTS_FILE: ${{ needs.prepare-selective-tests.outputs.has-selected-tests == 'true' && '.artifacts/selected-tests.txt' || '' }}
188+
SELECTED_TESTS_FILE: "${{ !contains(github.event.pull_request.labels.*.name, 'Trigger: Override Selective Testing') && needs.prepare-selective-tests.outputs.has-selected-tests == 'true' && '.artifacts/selected-tests.txt' || '' }}"
187189
SELECTED_TEST_COUNT: ${{ needs.prepare-selective-tests.outputs.test-count }}
188190
run: |
189191
python3 .github/workflows/scripts/calculate-backend-test-shards.py
190192
191193
backend-test-selective:
192-
if: needs.files-changed.outputs.backend == 'true'
194+
if: "(github.event.action != 'labeled' || github.event.label.name == 'Trigger: Override Selective Testing') && needs.files-changed.outputs.backend == 'true' && needs.calculate-shards.outputs.shard-count != '0' && needs.calculate-shards.outputs.shard-count != ''"
193195
needs: [files-changed, prepare-selective-tests, calculate-shards]
194196
name: backend tests
195197
runs-on: ubuntu-24.04
@@ -227,7 +229,7 @@ jobs:
227229
- name: Run backend tests (${{ steps.setup.outputs.matrix-instance-number }} of ${{ steps.setup.outputs.matrix-instance-total }})
228230
id: run_backend_tests
229231
env:
230-
SELECTED_TESTS_FILE: ${{ needs.prepare-selective-tests.outputs.has-selected-tests == 'true' && '.artifacts/selected-tests.txt' || '' }}
232+
SELECTED_TESTS_FILE: "${{ !contains(github.event.pull_request.labels.*.name, 'Trigger: Override Selective Testing') && needs.prepare-selective-tests.outputs.has-selected-tests == 'true' && '.artifacts/selected-tests.txt' || '' }}"
231233
run: make test-python-ci
232234

233235
- name: Inspect failure

0 commit comments

Comments
 (0)