debug(ci): split QA into individual lint/typecheck/test steps with individual Gotify breadcrumbs
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 7s
Build & Deploy / 🧪 QA (push) Failing after 1m53s
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 1s

This commit is contained in:
2026-03-01 23:36:54 +01:00
parent cb6f133e0c
commit e2d68c2828
5 changed files with 370 additions and 359 deletions

View File

@@ -197,15 +197,35 @@ jobs:
}
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
- name: 🧹 Lint
if: github.event.inputs.skip_checks != 'true'
env:
TURBO_TELEMETRY_DISABLED: "1"
run: |
pnpm exec turbo run lint typecheck test --cache-dir=".turbo" > /tmp/turbo.log 2>&1 || {
TAIL=$(tail -n 40 /tmp/turbo.log)
pnpm --filter @mintel/web lint --max-warnings 999 > /tmp/lint.log 2>&1 || {
TAIL=$(tail -n 30 /tmp/lint.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
-F "title=❌ QA: lint 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: lint passed" -F "priority=2" -F "message=Lint OK" || true
- name: 🔍 Typecheck
if: github.event.inputs.skip_checks != 'true'
run: |
pnpm --filter @mintel/web typecheck > /tmp/tsc.log 2>&1 || {
TAIL=$(tail -n 30 /tmp/tsc.log)
curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \
-F "title=❌ QA: typecheck 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: typecheck passed" -F "priority=2" -F "message=TypeScript OK" || true
- name: 🧪 Test
if: github.event.inputs.skip_checks != 'true'
run: |
pnpm --filter @mintel/web test > /tmp/test.log 2>&1 || {
TAIL=$(tail -n 30 /tmp/test.log)
curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \
-F "title=❌ QA: test failed" -F "priority=8" -F "message=$TAIL" || true
exit 1
}
curl -sf -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \