Skip to content

ci: Lighthouse CI budgets on PRs — perf / a11y / SEO / best-practices (closes #13)#25

Merged
VijitSingh97 merged 2 commits into
mainfrom
claude/lighthouse-ci
Jun 18, 2026
Merged

ci: Lighthouse CI budgets on PRs — perf / a11y / SEO / best-practices (closes #13)#25
VijitSingh97 merged 2 commits into
mainfrom
claude/lighthouse-ci

Conversation

@VijitSingh97

Copy link
Copy Markdown
Contributor

Resolves #13. A public single-page showcase site with no perf / a11y / SEO checks — oversized images, broken meta/OG tags, contrast issues, or render-blocking assets could ship silently.

What this adds

  • .github/workflows/lighthouse.yml — on every PR, builds the site and runs Lighthouse CI over the static public/. Built with --baseURL "/" so the root-relative, fully self-contained output (CSS/JS inlined-by-hash, zero third-party requests) serves locally for LHCI. Reports are stored as a GitHub artifact — no third-party upload, in keeping with the site's zero-third-party ethos.
  • lighthouserc.json — category assertions: performance ≥ 0.90, accessibility ≥ 0.95, SEO ≥ 0.95, best-practices ≥ 0.95, numberOfRuns: 3.

Thresholds start as warnings

Per the issue, assertions are set to warn (non-blocking) so the first runs record a baseline; once the real numbers are known they can be ratcheted to hard error floors just under baseline so regressions fail. This PR's own Lighthouse run is the baseline — see the job output / artifact.

Acceptance (#13)

  • Lighthouse runs on PRs against the built site
  • lighthouserc.json with documented category thresholds
  • Baseline recorded (this PR's run); thresholds currently warnings, ready to ratchet to floors

Verified locally

  • Production build is root-relative + self-contained (LHCI-servable); prettier / JSON / YAML / zizmor all clean.

🤖 Generated with Claude Code

VijitSingh97 and others added 2 commits June 18, 2026 02:28
A public single-page showcase site with no perf / a11y / SEO checks — oversized
images, broken meta/OG tags, contrast issues, or render-blocking assets could
ship silently.

- lighthouse.yml: on every PR, build the site and run Lighthouse CI over the
  static public/ (Hugo built with baseURL "/" so the root-relative, fully
  self-contained output serves locally). Reports stored as a GitHub artifact —
  no third-party upload, in keeping with the site's zero-third-party ethos.
- lighthouserc.json: category assertions for performance (0.90), accessibility
  (0.95), SEO (0.95), best-practices (0.95) — set to "warn" to start so the
  first runs record a baseline; ratchet to hard "error" floors once known.

Verified locally: production build is root-relative and self-contained
(LHCI-servable); prettier/JSON/YAML/zizmor clean. The Lighthouse job runs on
this PR, so its scores are the recorded baseline.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…fix)

zizmor's online ref-version-mismatch audit (not run in the local --no-online
pass) flagged the '# v12.6.2' comment — treosh/lighthouse-ci-action tags have
no 'v' prefix. SHA unchanged; comment corrected to '# 12.6.2'.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@VijitSingh97 VijitSingh97 merged commit 992bf34 into main Jun 18, 2026
7 checks passed
@VijitSingh97 VijitSingh97 deleted the claude/lighthouse-ci branch June 18, 2026 07:44
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.

tooling: Lighthouse CI budgets (perf / a11y / SEO / best-practices)

1 participant