Skip to content

Commit 2d89d15

Browse files
committed
Infra: Add stable required CI gates
1 parent 13c9aab commit 2d89d15

9 files changed

Lines changed: 39 additions & 15 deletions

File tree

.asf.yaml

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,9 @@ github:
5050
- docs
5151
- markdown-link-check
5252

53-
# Python CI checks.
54-
- cibw-dev-env-smoke-test
55-
- lint-and-unit-test (3.10)
56-
- lint-and-unit-test (3.11)
57-
- lint-and-unit-test (3.12)
58-
- lint-and-unit-test (3.13)
59-
- lint-and-unit-test (3.14)
60-
- windows-unit-test (3.12)
61-
62-
# Python integration checks.
63-
- integration-coverage-report
64-
- integration-test
65-
- integration-test-adls
66-
- integration-test-gcs
67-
- integration-test-s3
53+
# Python workflow gates.
54+
- python-ci-required
55+
- python-integration-required
6856

6957
required_pull_request_reviews:
7058
required_approving_review_count: 1

.github/workflows/asf-allowlist-check.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
name: "ASF Allowlist Check"
2525

2626
on:
27+
# Do not add pull_request path filters: skipped workflows do not report required checks, which blocks auto-merge indefinitely.
2728
pull_request:
2829
push:
2930
branches:

.github/workflows/check-md-link.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ on:
2626
- 'mkdocs/**'
2727
branches:
2828
- 'main'
29+
# Do not add pull_request path filters: skipped workflows do not report required checks, which blocks auto-merge indefinitely.
2930
pull_request:
3031
workflow_dispatch:
3132

.github/workflows/codeql.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ name: "CodeQL"
2222
on:
2323
push:
2424
branches: [ "main" ]
25+
# Do not add pull_request path filters: skipped workflows do not report required checks, which blocks auto-merge indefinitely.
2526
pull_request:
2627
branches: [ "main" ]
2728
schedule:

.github/workflows/license_check.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#
1919

2020
name: "Run License Check"
21+
# Do not add pull_request path filters: skipped workflows do not report required checks, which blocks auto-merge indefinitely.
2122
on: pull_request
2223

2324
permissions:

.github/workflows/python-ci-docs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ on:
2323
push:
2424
branches:
2525
- 'main'
26+
# Do not add pull_request path filters: skipped workflows do not report required checks, which blocks auto-merge indefinitely.
2627
pull_request:
2728

2829
permissions:

.github/workflows/python-ci.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ on:
2323
push:
2424
branches:
2525
- 'main'
26+
# Do not add pull_request path filters: skipped workflows do not report required checks, which blocks auto-merge indefinitely.
2627
pull_request:
2728

2829
permissions:
@@ -114,3 +115,17 @@ jobs:
114115
run: uv sync --directory . --only-group dev --no-install-project
115116
- name: Mirror wheel CIBW_TEST_COMMAND
116117
run: uv run --directory . pytest tests/avro/test_decoder.py
118+
119+
python-ci-required:
120+
if: ${{ always() }}
121+
needs: [lint-and-unit-test, windows-unit-test, cibw-dev-env-smoke-test]
122+
runs-on: ubuntu-latest
123+
steps:
124+
- name: Verify Python CI jobs succeeded
125+
env:
126+
RESULTS: ${{ join(needs.*.result, ' ') }}
127+
run: |
128+
read -ra results <<< "$RESULTS"
129+
for result in "${results[@]}"; do
130+
test "$result" = "success"
131+
done

.github/workflows/python-integration.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ on:
2323
push:
2424
branches:
2525
- 'main'
26+
# Do not add pull_request path filters: skipped workflows do not report required checks, which blocks auto-merge indefinitely.
2627
pull_request:
2728

2829
permissions:
@@ -176,3 +177,17 @@ jobs:
176177
merge-multiple: true
177178
- name: Generate coverage report (75%) # Coverage threshold should only increase over time — never decrease it!
178179
run: COVERAGE_FAIL_UNDER=75 make coverage-report
180+
181+
python-integration-required:
182+
if: ${{ always() }}
183+
needs: [integration-test, integration-test-s3, integration-test-adls, integration-test-gcs, integration-coverage-report]
184+
runs-on: ubuntu-latest
185+
steps:
186+
- name: Verify Python integration jobs succeeded
187+
env:
188+
RESULTS: ${{ join(needs.*.result, ' ') }}
189+
run: |
190+
read -ra results <<< "$RESULTS"
191+
for result in "${results[@]}"; do
192+
test "$result" = "success"
193+
done

.github/workflows/zizmor.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ name: GitHub Actions Security Analysis with zizmor 🌈
2222
on:
2323
push:
2424
branches: ["main"]
25+
# Do not add pull_request path filters: skipped workflows do not report required checks, which blocks auto-merge indefinitely.
2526
pull_request:
2627
branches: ["**"]
2728

0 commit comments

Comments
 (0)