From b051c62fe4e67b53f76cc0e93d33a8f7289bf212 Mon Sep 17 00:00:00 2001 From: Rick Staa Date: Mon, 17 Aug 2026 11:33:37 +0200 Subject: [PATCH] ci: validate every example's compose file The shared orchestrator file feeds all six examples through `extends`, so one bad line there breaks every one of them and nobody runs all six before merging. Verified: a single typo in compose.orchestrator.yml fails all six, and this catches it. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01SD4o2Evku53Nb6zfgAdWxV --- .github/workflows/lint.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3c43fae..739c3a0 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,3 +15,22 @@ jobs: python-version: "3.12" # Runs every hook in .pre-commit-config.yaml against all files. - uses: pre-commit/action@v3.0.1 + + # Every example pulls the orchestrator from ../compose.orchestrator.yml via + # `extends`, so one edit there breaks all of them and nobody runs all of them + # before merging. `config` parses and merges; it builds and starts nothing. + compose: + runs-on: ubuntu-latest + env: + HF_TOKEN: dummy # api-proxy requires it; every other variable has a default + steps: + - uses: actions/checkout@v7 + - name: Validate every example's compose file + run: | + status=0 + for dir in */; do + example=${dir%/} + [ -f "$example/compose.yml" ] || continue + docker compose -f "$example/compose.yml" config --quiet || status=1 + done + exit $status