ci: gate PRs into main on server tests + client build #57
Reference in New Issue
Block a user
No description provided.
Delete Branch "ci/pr-checks"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Adds
.gitea/workflows/pr-checks.yml— a check suite that runs on every pull request intomain, so a failing test or broken build can't reach the deployable branch. Complementsbuild-images.yml(which runs after merge to publish images).Jobs (parallel, on the existing
ubuntu-latestrunner)server-testsnpm ci+npm test(node --test)client-buildnpm ci+vite buildbot-installnpm ciNo lint step — there's no ESLint in the repo yet. These jobs need only Node (no Docker socket).
Enabling enforcement (one-time, after this run goes green)
Repository Settings → Branches → Branch Protection (rule for
main):Gitea only lists a context in its dropdown after it has reported once — this PR is that first run. The
PR Checks / *glob matches all three jobs (and any added later) without needing the dropdown.Exact contexts, if you prefer to pin them:
🤖 Generated with Claude Code
https://claude.ai/code/session_0114TpmrNW4wNXsHq5CR72jQ
Add .gitea/workflows/pr-checks.yml running on pull_request into main. Three parallel jobs on the existing ubuntu-latest runner: • server-tests — npm ci + node --test (164 tests, no DB needed: the suite stubs models and points the pool at a dead port) • client-build — npm ci + vite build • bot-install — npm ci only (catches a broken/stale lockfile) No ESLint exists in the repo yet, so no lint step. Complements build-images.yml, which publishes images post-merge. Enable in Branch Protection with status check pattern: PR Checks / * Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0114TpmrNW4wNXsHq5CR72jQ