PH0.6 — CI pipeline: backend, frontend, generated-file freshness, single Alembic head, commitlint #8
Labels
No labels
ready-for-agent
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#46 PH6.5 — Playwright end-to-end suite, nightly on develop
patrick/Polaris
Reference
patrick/Polaris#8
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Parent
Row PH0.6 in
docs/12-implementation-plan.md(branch, owned paths and doc section are defined there).What to build
Every pull request runs backend checks (ruff, mypy, pytest with a Postgres service), frontend checks (eslint, vitest, build, i18n key parity), fails if
openapi.jsonor any lockfile differs from a fresh regeneration, fails on multiple Alembic heads, and validates the PR title as a Conventional Commit. Pre-commit and changelog config are in place.Acceptance criteria
developwith all jobs present (note: this repo is single-trunk now, so read asmain— see comments. Also: as of PR #61, no Forgejo Actions runner has picked up any queued job after ~2 minutes, so this can't be ticked from here; needs an admin to check runner registration on this instance)openapi.jsonwithout regenerating fails the freshness job (verified the exactpolaris openapi+difflogic locally: hand-editingopenapi.jsonand re-running produces a non-zero exit; not yet confirmed inside an actual CI run, see PR #61)down_revisionmakealembic headsreport two heads, and the workflow's head-count check fails on that; not yet confirmed inside an actual CI run)commitlint.config.jstested against this repo's own commit history and against CLAUDE.md's own examples; not yet confirmed inside an actual CI run).pre-commit-config.yamlruns the same linters locally (each hook shells out to the exact sameuv run/npm runcommands verified above; not run through thepre-committool itself, which isn't installed in this sandbox)Blocked by
Starting PH0.6 on branch feature/ci-pipeline. Owned paths: .forgejo/** (corrected from .github/**), .pre-commit-config.yaml, commitlint.config.*, cliff.toml, plus doc-wording fixes in docs/12-implementation-plan.md and docs/10-dev-workflow.md.
PR #61 open: #61
Two things discovered while verifying "whether Forgejo Actions actually works" here, since I don't have admin API access to check runner registration directly:
GET /repos/patrick/Polarisreturns"has_actions": true"), and pushing the branch + opening the PR correctly triggeredpull_requestevents:GET /repos/patrick/Polaris/actions/runsshows 3 runs (backend.yml, frontend.yml, commitlint.yml), each with the right job names registered (ruff,mypy,pytest,uv-lock-check,openapi-freshness,alembic-single-headfor backend; etc.). So workflow discovery and dispatch is working.GET /repos/patrick/Polaris/actions/runs/1/jobsevery 15s for 2 minutes after opening the PR — every job stayedstatus: waitingwithtask_id: 0the whole time (never assigned to a runner). This looks like either noact_runneris currently registered against this instance/repo, or one is registered but not matching theubuntu-latestlabel these workflows use. Needs an admin to check runner registration (Site Administration → Actions → Runnersin the Forgejo UI, orGET /api/v1/admin/runnerswith an admin token) — I don't have that access from here.Also: two more
.github/**references remain indocs/12-implementation-plan.md(the PH1 "sealed after PH1" file list around line 98, and the PH6.5/e2e row around line 241) that I left alone — PH0.6's brief scoped the doc fix to this row's own wording anddocs/10-dev-workflow.md's repo-layout comment specifically, and those other two belong to different rows/owners. Flagging here rather than widening this ticket; a tiny follow-up doc fix whenever someone touches PH1 or PH6.5.