Skip to content

Commit fceb11f

Browse files
committed
ci: reject skipped jobs in umbrella gates
Signed-off-by: danbugs <danilochiarlone@gmail.com>
1 parent 2f75cc1 commit fceb11f

3 files changed

Lines changed: 38 additions & 17 deletions

File tree

.github/workflows/benchmarks.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -536,11 +536,20 @@ jobs:
536536
permissions: {}
537537
steps:
538538
- run: |
539-
results=("${{ needs.build-image.result }}" "${{ needs.bench-linux.result }}" "${{ needs.bench-windows.result }}")
540-
for r in "${results[@]}"; do
541-
if [[ "$r" != "success" && "$r" != "skipped" ]]; then
542-
echo "Job failed with result: $r"
543-
exit 1
539+
declare -A results=(
540+
[build-image]="${{ needs.build-image.result }}"
541+
[bench-linux]="${{ needs.bench-linux.result }}"
542+
[bench-windows]="${{ needs.bench-windows.result }}"
543+
)
544+
failed=0
545+
for job in "${!results[@]}"; do
546+
r="${results[$job]}"
547+
if [[ "$r" != "success" ]]; then
548+
echo "FAIL: $job = $r"
549+
failed=1
544550
fi
545551
done
552+
if [[ "$failed" -eq 1 ]]; then
553+
exit 1
554+
fi
546555
echo "All checks passed"

.github/workflows/host-checks.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,9 @@ jobs:
8585
permissions: {}
8686
steps:
8787
- run: |
88-
results=("${{ needs.checks.result }}")
89-
for r in "${results[@]}"; do
90-
if [[ "$r" != "success" && "$r" != "skipped" ]]; then
91-
echo "Job failed with result: $r"
92-
exit 1
93-
fi
94-
done
88+
r="${{ needs.checks.result }}"
89+
if [[ "$r" != "success" ]]; then
90+
echo "FAIL: checks = $r"
91+
exit 1
92+
fi
9593
echo "All checks passed"

.github/workflows/test-examples.yml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -824,11 +824,25 @@ jobs:
824824
permissions: {}
825825
steps:
826826
- run: |
827-
results=("${{ needs.build-example.result }}" "${{ needs.runtime-test.result }}" "${{ needs.package-images-for-windows.result }}" "${{ needs.runtime-test-windows.result }}" "${{ needs.pyhl-snapshot-test.result }}")
828-
for r in "${results[@]}"; do
829-
if [[ "$r" != "success" && "$r" != "skipped" ]]; then
830-
echo "Job failed with result: $r"
831-
exit 1
827+
# Every job must succeed. "skipped" means a dependency failed
828+
# and the job never ran — that must fail the gate, not sneak
829+
# through as green.
830+
declare -A results=(
831+
[build-example]="${{ needs.build-example.result }}"
832+
[runtime-test]="${{ needs.runtime-test.result }}"
833+
[package-images-for-windows]="${{ needs.package-images-for-windows.result }}"
834+
[runtime-test-windows]="${{ needs.runtime-test-windows.result }}"
835+
[pyhl-snapshot-test]="${{ needs.pyhl-snapshot-test.result }}"
836+
)
837+
failed=0
838+
for job in "${!results[@]}"; do
839+
r="${results[$job]}"
840+
if [[ "$r" != "success" ]]; then
841+
echo "FAIL: $job = $r"
842+
failed=1
832843
fi
833844
done
845+
if [[ "$failed" -eq 1 ]]; then
846+
exit 1
847+
fi
834848
echo "All checks passed"

0 commit comments

Comments
 (0)