diff --git a/.github/workflows/build-and-test.yaml b/.github/workflows/build-and-test.yaml index a2e0fde2b..e9ad89328 100644 --- a/.github/workflows/build-and-test.yaml +++ b/.github/workflows/build-and-test.yaml @@ -59,8 +59,14 @@ jobs: cache: "pnpm" node-version: "lts/*" - - name: Fetch layered build - run: scripts/layered.sh + # Upstream nutzt hier scripts/layered.sh, das eine zum Branch passende + # matrix-js-sdk-Version klont - fuer diesen Fork falsch: es wuerde den + # bewusst gepinnten js-sdk-Stand aus pnpm-lock.yaml (Issue #12) mit + # Upstream-develop ueberschreiben. Der Lockfile-Stand ist hier autoritativ, + # genau wie im Produktions-Docker-Build. (Nebenbei: layered.sh braucht jq, + # das im node:20-Job-Container fehlt.) + - name: Install dependencies + run: pnpm install --frozen-lockfile - name: Copy config working-directory: apps/web @@ -112,5 +118,11 @@ jobs: if: always() runs-on: ubuntu-latest steps: - - if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') - run: exit 1 + # Explizite Einzel-Checks statt contains(needs.*.result, ...): die + # Objekt-Filter-Syntax wertete auf Gitea/act falsch aus - das Gate war + # "success", obwohl build_ew fehlgeschlagen (und der Rest geskippt) war. + - name: Check all builds succeeded + run: | + [ "${{ needs.build_ew.result }}" = "success" ] || { echo "build_ew: ${{ needs.build_ew.result }}"; exit 1; } + [ "${{ needs.prepare_ed.result }}" = "success" ] || { echo "prepare_ed: ${{ needs.prepare_ed.result }}"; exit 1; } + [ "${{ needs.build_ed_linux.result }}" = "success" ] || { echo "build_ed_linux: ${{ needs.build_ed_linux.result }}"; exit 1; }