ci: use lockfile install instead of layered.sh, fix always-green gate
layered.sh clones a branch-matching upstream matrix-js-sdk - on this fork that would override the deliberately pinned js-sdk from pnpm-lock.yaml (issue #12) with upstream develop, and it also needs jq which the node:20 job container lacks (the actual CI failure). Plain frozen-lockfile install matches the production docker build. Also replace the contains(needs.*.result, ...) gate check with explicit per-job checks: the object-filter syntax evaluated wrongly on Gitea/act, letting build-complete report success while build_ew had failed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
71ac7c4346
commit
8d46fb33d2
@@ -59,8 +59,14 @@ jobs:
|
|||||||
cache: "pnpm"
|
cache: "pnpm"
|
||||||
node-version: "lts/*"
|
node-version: "lts/*"
|
||||||
|
|
||||||
- name: Fetch layered build
|
# Upstream nutzt hier scripts/layered.sh, das eine zum Branch passende
|
||||||
run: scripts/layered.sh
|
# 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
|
- name: Copy config
|
||||||
working-directory: apps/web
|
working-directory: apps/web
|
||||||
@@ -112,5 +118,11 @@ jobs:
|
|||||||
if: always()
|
if: always()
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
# Explizite Einzel-Checks statt contains(needs.*.result, ...): die
|
||||||
run: exit 1
|
# 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; }
|
||||||
|
|||||||
Reference in New Issue
Block a user