mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
fix(ci): remove || true from all pipeline steps so failures propagate
All 13 occurrences of || true removed — test failures (playwright, vitest, eslint, builds) now exit non-zero and fail the job/workflow. Added set -o pipefail to the eslint and vitest steps so pipe-through-tee doesn't swallow the test runner exit code. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
28
.github/workflows/gated-pipeline.yml
vendored
28
.github/workflows/gated-pipeline.yml
vendored
@@ -404,7 +404,7 @@ jobs:
|
||||
node-version: '20'
|
||||
|
||||
- name: Build workspace packages
|
||||
run: npm run build --workspaces --if-present 2>&1 || true
|
||||
run: npm run build --workspaces --if-present 2>&1
|
||||
|
||||
- name: Run TypeScript type check
|
||||
run: npm run typecheck -w frontends/nextjs
|
||||
@@ -438,12 +438,13 @@ jobs:
|
||||
node-version: '20'
|
||||
|
||||
- name: Build workspace packages
|
||||
run: npm run build --workspaces --if-present 2>&1 || true
|
||||
run: npm run build --workspaces --if-present 2>&1
|
||||
|
||||
- name: Run ESLint
|
||||
run: |
|
||||
set -o pipefail
|
||||
cd frontends/nextjs
|
||||
npx eslint . --format compact 2>&1 | tee /tmp/lint-out.txt || true
|
||||
npx eslint . --format compact 2>&1 | tee /tmp/lint-out.txt
|
||||
# Count errors in local src/ only (skip workspace transitive errors)
|
||||
LOCAL_ERRORS=$(grep -c "Error -" /tmp/lint-out.txt 2>/dev/null || echo "0")
|
||||
echo "Total lint issues: $LOCAL_ERRORS"
|
||||
@@ -485,7 +486,7 @@ jobs:
|
||||
- name: Run dependency audit
|
||||
run: |
|
||||
mkdir -p gate-artifacts/gate-1
|
||||
npm audit --json > gate-artifacts/gate-1/audit-results.json 2>&1 || true
|
||||
npm audit --json > gate-artifacts/gate-1/audit-results.json 2>&1
|
||||
echo "Security audit completed"
|
||||
continue-on-error: true
|
||||
|
||||
@@ -590,7 +591,7 @@ jobs:
|
||||
# Check for common stub patterns
|
||||
STUBS=$(grep -rn "TODO\|FIXME\|HACK\|XXX\|not implemented\|throw new Error.*not implemented" \
|
||||
--include="*.ts" --include="*.tsx" \
|
||||
frontends/ components/ hooks/ redux/ 2>/dev/null | head -50 || true)
|
||||
frontends/ components/ hooks/ redux/ 2>/dev/null | head -50)
|
||||
if [ -n "$STUBS" ]; then
|
||||
echo "Potential stubs/TODOs found:" > gate-artifacts/gate-1/stubs.txt
|
||||
echo "$STUBS" >> gate-artifacts/gate-1/stubs.txt
|
||||
@@ -644,7 +645,7 @@ jobs:
|
||||
mkdir -p gate-artifacts/gate-1
|
||||
echo "completed" > gate-artifacts/gate-1/status.txt
|
||||
echo "$(date -Iseconds)" > gate-artifacts/gate-1/end-time.txt
|
||||
ls -la gate-artifacts/gate-1/ || true
|
||||
ls -la gate-artifacts/gate-1/
|
||||
|
||||
- name: Upload consolidated gate 1 report
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -694,8 +695,9 @@ jobs:
|
||||
|
||||
- name: Run unit tests with coverage
|
||||
run: |
|
||||
set -o pipefail
|
||||
cd frontends/nextjs
|
||||
npx vitest run --coverage --coverage.reporter=text --coverage.reporter=json-summary 2>&1 | tee /tmp/vitest-out.txt || true
|
||||
npx vitest run --coverage --coverage.reporter=text --coverage.reporter=json-summary 2>&1 | tee /tmp/vitest-out.txt
|
||||
FAILED=$(grep -oP '\d+ failed' /tmp/vitest-out.txt | head -1 | grep -oP '\d+' || echo "0")
|
||||
PASSED=$(grep -oP '\d+ passed' /tmp/vitest-out.txt | head -1 | grep -oP '\d+' || echo "0")
|
||||
echo "Tests: $PASSED passed, $FAILED failed"
|
||||
@@ -763,7 +765,7 @@ jobs:
|
||||
node-version: '20'
|
||||
|
||||
- name: Build workspace packages
|
||||
run: npm run build --workspaces --if-present 2>&1 || true
|
||||
run: npm run build --workspaces --if-present 2>&1
|
||||
|
||||
- name: Install Playwright Browsers
|
||||
run: npx playwright install --with-deps chromium
|
||||
@@ -776,7 +778,7 @@ jobs:
|
||||
- name: Run Playwright tests
|
||||
run: |
|
||||
if [ -f e2e/playwright.config.ts ]; then
|
||||
npx playwright test --config=e2e/playwright.config.ts 2>&1 || true
|
||||
npx playwright test --config=e2e/playwright.config.ts 2>&1
|
||||
else
|
||||
echo "::warning::No playwright.config.ts found — E2E tests not configured"
|
||||
fi
|
||||
@@ -827,7 +829,7 @@ jobs:
|
||||
- name: Run DBAL daemon suite
|
||||
run: |
|
||||
if [ -f e2e/playwright.dbal-daemon.config.ts ]; then
|
||||
npx playwright test --config=e2e/playwright.dbal-daemon.config.ts 2>&1 || true
|
||||
npx playwright test --config=e2e/playwright.dbal-daemon.config.ts 2>&1
|
||||
else
|
||||
echo "::warning::No DBAL daemon playwright config found — tests not configured"
|
||||
fi
|
||||
@@ -881,7 +883,7 @@ jobs:
|
||||
mkdir -p gate-artifacts/gate-2
|
||||
echo "completed" > gate-artifacts/gate-2/status.txt
|
||||
echo "$(date -Iseconds)" > gate-artifacts/gate-2/end-time.txt
|
||||
ls -la gate-artifacts/gate-2/ || true
|
||||
ls -la gate-artifacts/gate-2/
|
||||
|
||||
- name: Upload consolidated gate 2 report
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -932,7 +934,7 @@ jobs:
|
||||
node-version: '20'
|
||||
|
||||
- name: Build workspace packages
|
||||
run: npm run build --workspaces --if-present 2>&1 || true
|
||||
run: npm run build --workspaces --if-present 2>&1
|
||||
|
||||
- name: Build
|
||||
id: build-step
|
||||
@@ -1027,7 +1029,7 @@ jobs:
|
||||
mkdir -p gate-artifacts/gate-3
|
||||
echo "completed" > gate-artifacts/gate-3/status.txt
|
||||
echo "$(date -Iseconds)" > gate-artifacts/gate-3/end-time.txt
|
||||
ls -la gate-artifacts/gate-3/ || true
|
||||
ls -la gate-artifacts/gate-3/
|
||||
|
||||
- name: Upload consolidated gate 3 report
|
||||
uses: actions/upload-artifact@v4
|
||||
|
||||
Reference in New Issue
Block a user