Skip to content

CI: make the required checks reportable, narrow Docker, cover backend deps - #13

Merged
albertotb merged 3 commits into
mainfrom
claude/react-template-modernize-7q6egv
Aug 10, 2026
Merged

CI: make the required checks reportable, narrow Docker, cover backend deps#13
albertotb merged 3 commits into
mainfrom
claude/react-template-modernize-7q6egv

Conversation

@albertotb

@albertotb albertotb commented Aug 10, 2026

Copy link
Copy Markdown
Member

Three small CI/automation changes, now that main requires frontend, backend, contract and docker.

1. Drop the paths: filters so the required checks always report

A required check whose workflow is filtered out never reports, so GitHub parks the PR at "Expected — waiting for status" indefinitely. With all four required, that would have stalled every backend-only sync PR (no frontend/** changes → Frontend never runs) — precisely the PRs the gating exists for — and every docs-only PR. All four now run on every PR and push to main: ~1 minute per job, in exchange for gates that actually gate.

2. Narrow the Docker check to the wiring

Contract and Docker were asserting the same three endpoints, once against uvicorn and once through nginx. Docker now makes a single request: reaching /health under /api proves the image runs and the proxy strips the prefix, which is all this job is for. The endpoints themselves stay Contract's job, asserted once. Verified against the real compose stack — frontend served, /api/health{"status":"ok"} through nginx.

3. Dependabot entry for the backend

The dependency graph already scans backend/uv.lock (visible as Graph Update: uv in /backend runs), but turning alerts into PRs needs an explicit ecosystem entry, and the package sits in a subdirectory so it needs its own directory: /backend.

Routine bumps here are largely redundant — a template sync regenerates uv.lock by re-resolving to the newest allowed versions, so it carries security fixes forward on its own — but they're harmless, and the same entry is what surfaces vulnerable dependencies between syncs. If the churn is unwelcome, open-pull-requests-limit: 0 on that entry suppresses routine version PRs while leaving security ones; worth checking against how your org config produces them before flipping it.

🤖 Generated with Claude Code

https://claude.ai/code/session_011texLkDBELWbXsBf6San3M

claude added 3 commits August 10, 2026 12:54
Required status checks and path filters do not mix: a required check
whose workflow is filtered out never reports, and GitHub blocks the PR
at "Expected — waiting for status" forever. With Frontend, Backend,
Contract and Docker required on main, that would have stalled every
backend-only sync PR (no frontend/** changes) and every docs-only PR.

Dropping the filters costs about a minute per job and makes the gates
real: nothing merges, automatically or otherwise, until the full suite
passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011texLkDBELWbXsBf6San3M
The two jobs asserted the same three endpoints, once against uvicorn and
once through nginx. Docker now makes a single request: reaching /health
under /api proves the image runs and the proxy strips the prefix, which
is all this job is for. The endpoints themselves stay the Contract
workflow's job, where they are asserted once.

Verified against the real compose stack: frontend served, /api/health
returns ok through nginx.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011texLkDBELWbXsBf6San3M
The dependency graph already scans backend/uv.lock (the "Graph Update:
uv in /backend" runs), but PRs need an explicit ecosystem entry, and the
backend package sits in a subdirectory so it needs its own.

Routine bumps here are largely redundant — a template sync regenerates
uv.lock by re-resolving to the newest allowed versions — but they are
harmless, and the same entry is what surfaces vulnerable transitive
dependencies as PRs between syncs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011texLkDBELWbXsBf6San3M
@albertotb albertotb changed the title Run all four checks on every PR so they can be required CI: make the required checks reportable, narrow Docker, cover backend deps Aug 10, 2026
@albertotb
albertotb merged commit 29cdc43 into main Aug 10, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants