debug(ci): add Gotify breadcrumbs to every QA step to isolate crash point
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 10s
Build & Deploy / 🧪 QA (push) Failing after 3m45s
Build & Deploy / 🏗️ Build (push) Has been skipped
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 31s

This commit is contained in:
2026-03-01 23:25:54 +01:00
parent 7990189505
commit cb6f133e0c

View File

@@ -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