From cb6f133e0ca9c64b8606376a1ed01be57b91609b Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Sun, 1 Mar 2026 23:25:54 +0100 Subject: [PATCH] debug(ci): add Gotify breadcrumbs to every QA step to isolate crash point --- .gitea/workflows/deploy.yml | 43 ++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index e10a9f7..aa72392 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -154,10 +154,16 @@ jobs: version: 10 - name: Provide sibling monorepo run: | - git clone https://git.infra.mintel.me/mmintel/at-mintel.git _at-mintel + git clone https://git.infra.mintel.me/mmintel/at-mintel.git _at-mintel 2>&1 || { + curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ + -F "title=โŒ QA: git clone failed" -F "priority=8" -F "message=git clone at-mintel failed" || true + exit 1 + } sed -i 's|../../../at-mintel|../../_at-mintel|g' apps/web/package.json sed -i 's|../../../at-mintel|../../_at-mintel|g' apps/web/tsconfig.json sed -i 's|../at-mintel|./_at-mintel|g' package.json + curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ + -F "title=โœ… QA: clone+sed done" -F "priority=2" -F "message=Sibling monorepo cloned and paths rewritten" || true - name: ๐Ÿ” Registry Auth run: | echo "@mintel:registry=https://${{ vars.REGISTRY_HOST || 'npm.infra.mintel.me' }}" > .npmrc @@ -166,17 +172,44 @@ jobs: run: | cp .npmrc _at-mintel/ cd _at-mintel - pnpm install --no-frozen-lockfile - pnpm build + pnpm install --no-frozen-lockfile > /tmp/sibling-install.log 2>&1 || { + TAIL=$(tail -n 30 /tmp/sibling-install.log) + curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ + -F "title=โŒ QA: sibling pnpm install failed" -F "priority=8" -F "message=$TAIL" || true + exit 1 + } + pnpm build > /tmp/sibling-build.log 2>&1 || { + TAIL=$(tail -n 30 /tmp/sibling-build.log) + curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ + -F "title=โŒ QA: sibling pnpm build failed" -F "priority=8" -F "message=$TAIL" || true + exit 1 + } + curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ + -F "title=โœ… QA: sibling compiled" -F "priority=2" -F "message=at-mintel install+build OK" || true - name: Install dependencies run: | pnpm store prune - pnpm install --no-frozen-lockfile + pnpm install --no-frozen-lockfile > /tmp/main-install.log 2>&1 || { + TAIL=$(tail -n 30 /tmp/main-install.log) + curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ + -F "title=โŒ QA: main pnpm install failed" -F "priority=8" -F "message=$TAIL" || true + exit 1 + } + curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ + -F "title=โœ… QA: deps installed" -F "priority=2" -F "message=Main project install OK" || true - name: ๐Ÿงช QA Checks if: github.event.inputs.skip_checks != 'true' env: TURBO_TELEMETRY_DISABLED: "1" - run: pnpm exec turbo run lint typecheck test --cache-dir=".turbo" + run: | + pnpm exec turbo run lint typecheck test --cache-dir=".turbo" > /tmp/turbo.log 2>&1 || { + TAIL=$(tail -n 40 /tmp/turbo.log) + curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ + -F "title=โŒ QA: turbo checks failed" -F "priority=8" -F "message=$TAIL" || true + exit 1 + } + curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ + -F "title=โœ… QA: ALL PASSED" -F "priority=2" -F "message=lint+typecheck+test all passed" || true # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ # JOB 3: Build & Push