Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c0a6213b36 |
@@ -27,3 +27,32 @@ jobs:
|
||||
|
||||
- name: Lint
|
||||
run: pip install ruff && ruff check molecule_agent/ molecule_plugin/
|
||||
|
||||
all-required:
|
||||
name: all-required
|
||||
needs: [test]
|
||||
if: ${{ always() }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Assert every required dependency succeeded
|
||||
run: |
|
||||
set -euo pipefail
|
||||
results='${{ toJSON(needs) }}'
|
||||
echo "$results"
|
||||
echo "$results" | python3 -c '
|
||||
import json, sys
|
||||
ns = json.load(sys.stdin)
|
||||
bad = [(k, v.get("result")) for k, v in ns.items()
|
||||
if v.get("result") not in ("success", None, "cancelled", "skipped")]
|
||||
if bad:
|
||||
print("FAIL: jobs not green:", file=sys.stderr)
|
||||
for k, r in bad:
|
||||
print(f" - {k}: {r}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
pending = [(k, v.get("result")) for k, v in ns.items()
|
||||
if v.get("result") is None]
|
||||
if pending:
|
||||
print(f"WARN: {len(pending)} job(s) still in-flight (result=null): " +
|
||||
", ".join(k for k, _ in pending), file=sys.stderr)
|
||||
print(f"OK: all {len(ns)} required jobs succeeded")
|
||||
'
|
||||
|
||||
Reference in New Issue
Block a user