Skip to content

Commit 6e603cd

Browse files
authored
ci: give every validate job a unique check context (#2937)
The require-ci ruleset requires one check context named "validate" but 13 workflows all emit a job named validate. That makes the required-check match ambiguous: any one of the 13 checks can satisfy the rule, so PRs can merge while most workflows are still failing or not even running. Add a unique workflow-prefixed name: to every validate job so each one becomes its own required context. Harden the five aggregate validators to fail on any non-success result (cancelled and skipped included, not just failure). Add merge_group to visual-test.yml so its validate context can be required safely. Companion ruleset update lives in the PR description.
1 parent a3fa361 commit 6e603cd

13 files changed

Lines changed: 24 additions & 5 deletions

.github/workflows/ci-behavior.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,14 @@ jobs:
7575
working-directory: tests/behavior
7676

7777
validate:
78+
name: Behavior Tests / validate
7879
if: always()
7980
needs: [test]
8081
runs-on: ubuntu-latest
8182
steps:
8283
- name: Check results
8384
run: |
84-
if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then
85+
if [[ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}" == "true" ]]; then
86+
echo "One or more required jobs did not succeed."
8587
exit 1
8688
fi

.github/workflows/ci-demos.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,14 @@ jobs:
8484
run: DEMO=${{ matrix.demo }} npx playwright test
8585

8686
validate:
87+
name: CI Demos / validate
8788
if: always()
8889
needs: [smoke-test]
8990
runs-on: ubuntu-latest
9091
steps:
9192
- name: Check results
9293
run: |
93-
if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then
94+
if [[ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}" == "true" ]]; then
95+
echo "One or more required jobs did not succeed."
9496
exit 1
9597
fi

.github/workflows/ci-docs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ on:
1515

1616
jobs:
1717
validate:
18+
name: CI Docs / validate
1819
runs-on: ubuntu-latest
1920
steps:
2021
- uses: actions/checkout@v6

.github/workflows/ci-document-api.yml

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

2020
jobs:
2121
validate:
22+
name: CI Document API / validate
2223
runs-on: ubuntu-latest
2324
steps:
2425
- uses: actions/checkout@v4

.github/workflows/ci-esign.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ concurrency:
1616

1717
jobs:
1818
validate:
19+
name: CI eSign / validate
1920
runs-on: ubuntu-latest
2021
steps:
2122
- uses: actions/checkout@v6

.github/workflows/ci-examples.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,14 @@ jobs:
172172
run: npx tsx src/index.test.ts
173173

174174
validate:
175+
name: CI Examples / validate
175176
if: always()
176177
needs: [getting-started, collaboration, features, advanced-headless-toolbar, headless]
177178
runs-on: ubuntu-latest
178179
steps:
179180
- name: Check results
180181
run: |
181-
if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then
182+
if [[ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}" == "true" ]]; then
183+
echo "One or more required jobs did not succeed."
182184
exit 1
183185
fi

.github/workflows/ci-mcp.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ concurrency:
1616

1717
jobs:
1818
validate:
19+
name: CI MCP / validate
1920
runs-on: ubuntu-latest
2021
steps:
2122
- uses: actions/checkout@v4

.github/workflows/ci-react.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ concurrency:
1616

1717
jobs:
1818
validate:
19+
name: CI React / validate
1920
runs-on: ubuntu-latest
2021
steps:
2122
- uses: actions/checkout@v4

.github/workflows/ci-sdk.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ concurrency:
2222

2323
jobs:
2424
validate:
25+
name: CI SDK / validate
2526
runs-on: ubuntu-latest
2627
steps:
2728
- uses: actions/checkout@v4

.github/workflows/ci-superdoc.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,12 +232,14 @@ jobs:
232232
flags: superdoc
233233

234234
validate:
235+
name: CI SuperDoc / validate
235236
if: always()
236237
needs: [build, unit-tests, cli-tests, coverage]
237238
runs-on: ubuntu-latest
238239
steps:
239240
- name: Check results
240241
run: |
241-
if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then
242+
if [[ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}" == "true" ]]; then
243+
echo "One or more required jobs did not succeed."
242244
exit 1
243245
fi

0 commit comments

Comments
 (0)