Skip to content

Commit 7c5e167

Browse files
geekypunkclaude
andcommitted
ci: stop advisory jobs marking every pull request as failed
continue-on-error was set on the job rather than the step. That makes the workflow run green while GitHub still reports the individual check as failed, so both known-red advisory jobs -- 77 of 1293 backend tests, 41 eslint errors -- painted a red X on every pull request regardless of its content. All 17 open Dependabot pull requests looked broken as a result, including the ones that are fine. Worse, it hid the one that is genuinely broken: the lucide-react 0.562 -> 1.28 bump fails `frontend (build)` and `docker compose build`, which pass everywhere else. A signal that is red for everything cannot distinguish that PR from the rest, and reviewers learn to merge through red -- the habit CI exists to prevent. Moving continue-on-error onto the step lets the job conclude successfully while still running the suite and surfacing its output. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent faa2ae3 commit 7c5e167

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

.github/workflows/ci.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,16 @@ jobs:
8585
# failing; frontend: 41 eslint errors). Promote each to a required check in
8686
# branch protection the day its suite goes green — that promotion is the point
8787
# of running them, not an afterthought.
88+
#
89+
# `continue-on-error` belongs on the STEP, never on the job. At job level the
90+
# workflow run goes green but GitHub still reports the individual check as
91+
# failed, which paints a red X on every pull request whatever it contains. That
92+
# makes a genuinely broken change indistinguishable from a healthy one and
93+
# trains reviewers to merge through red — the exact habit CI exists to prevent.
8894

8995
backend-tests:
9096
name: backend tests (advisory)
9197
runs-on: ubuntu-latest
92-
continue-on-error: true
9398
services:
9499
postgres:
95100
# pgvector, not stock postgres: rag_documents.embedding is vector(3072)
@@ -120,6 +125,7 @@ jobs:
120125
- name: Generate ephemeral encryption key
121126
run: echo "ENCRYPTION_KEYS=local-2025-01:$(openssl rand -base64 32)" >> "$GITHUB_ENV"
122127
- run: ./mvnw -B -ntp test
128+
continue-on-error: true
123129
working-directory: backend
124130
env:
125131
TEST_DB_URL: jdbc:postgresql://localhost:5432/dba_agent?sslmode=disable
@@ -139,7 +145,6 @@ jobs:
139145
lint:
140146
name: frontend lint (advisory)
141147
runs-on: ubuntu-latest
142-
continue-on-error: true
143148
steps:
144149
- uses: actions/checkout@v4
145150
- uses: actions/setup-node@v4
@@ -148,3 +153,4 @@ jobs:
148153
cache: npm
149154
- run: npm ci
150155
- run: npm run lint
156+
continue-on-error: true

0 commit comments

Comments
 (0)