Skip to content

ci: use GitHub-hosted runners (org has no self-hosted runners registered) - #105

Merged
scottconverse merged 3 commits into
masterfrom
fix/ci-use-github-hosted-runners
Jul 4, 2026
Merged

scottconverse merged 3 commits into
masterfrom
fix/ci-use-github-hosted-runners

Conversation

@scottconverse

Copy link
Copy Markdown
Collaborator

records-ai's CI required runs-on: [self-hosted, linux, x64] but the CivicSuite org has ZERO self-hosted runners registered (org- and repo-level), so every records-ai job sits queued forever with no runner assigned — no records-ai PR can pass CI. Every other city-core repo (civicclerk, civiccore, ...) already uses GitHub-hosted ubuntu-latest. This switches ci.yml/release-preflight.yml/release.yml to ubuntu-latest to match. GitHub-hosted ubuntu supports the docker-compose backend job. This PR's own CI running (instead of hanging) is the proof.

scottconverse and others added 3 commits July 3, 2026 22:50
… (org has none registered; every other city-core repo already uses github-hosted)
Switching to GitHub-hosted runners made CI actually execute for the first
time, which surfaced a pre-existing failure in the Frontend job's
`npm audit --audit-level=moderate` gate: 10 known advisories (1 critical
vitest, high vite/ws/launch-editor, moderate react-router/markdown-it) that
the never-scheduled CI had been silently hiding.

Fix the deps rather than weakening the gate:
- react-router-dom 7.15.0 -> 7.18.1 (patches GHSA-84g9-w2xq-vcv6 CSRF;
  exact pin held, minor bump within v7)
- npm audit fix for the in-range/transitive advisories (vitest 3.2.6,
  patched vite/ws/launch-editor/markdown-it/linkify-it)

Verified locally: npm audit --audit-level=moderate = 0 vulnerabilities,
generate:types not stale, tsc+vite build clean, all 42 vitest tests pass
(routed components exercise react-router 7.18).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixing the audit gate let CI reach the "Run vitest suite" step, which runs
`npm test` = `vitest run … && playwright test e2e/skip-link-no-occlude.spec.ts`
— an inline Playwright spec. But the workflow installed Chromium *after* that
step, so it failed with "Executable doesn't exist". Moved the
`npx playwright install chromium` step ahead of the vitest step; the later
a11y and e2e steps reuse the same install.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@scottconverse
scottconverse merged commit 7a740bb into master Jul 4, 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.

1 participant