avishj/AutoLighthouse

Maximalist Lighthouse CI with zero config. Includes preset-based thresholds, multi-URL/multi-profile auditing, serverless regression detection, and automatic GitHub Issue lifecycle management. No hosted LHCI server required.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Feb 27, 2026
License
AGPL 3.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: avishj/autolighthouse@64d8fc7a7afb054cec115c7777b1cfce807f6e0b # no releases — HEAD as of 2026-07-13

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
modeAction mode: audit (run Lighthouse) or report (aggregate and analyze results).noaudit
urlsNewline-separated list of URLs to audit. Required for audit mode.no
profileDevice profile for this run (mobile, tablet, or desktop).nomobile
presetAssertion preset: strict (default), moderate, or relaxed.nostrict
runsNumber of Lighthouse runs per URL (median aggregation).no5
regression-thresholdPercentage increase from rolling average to flag as regression.no10
consecutive-fail-limitConsecutive failures before persistent alert.no3
fail-onWhen to fail the workflow: error, warn, or never.noerror
budgetstrue for built-in budgets, false to disable, or path to custom budget.json.notrue
create-issuesEnable GitHub Issue lifecycle management.notrue
upload-artifactsUpload Lighthouse results as GitHub Actions artifacts.notrue
temporary-public-storageUpload reports to temporary public storage for shareable links.notrue
history-pathPath for regression history JSON file. Set to empty string to disable history and regression detection.no.lighthouse/history.json
cleanup-stale-pathsRemove history entries for URL/profile combinations no longer being audited.nofalse
stale-path-daysDays to wait before removing stale history entries (requires cleanup-stale-paths to be true).no30
max-history-runsMaximum number of history runs to keep per URL/profile combination.no100
github-tokenGitHub token for issue management and history commits.no${{ github.token }}
namedescription
resultsJSON string of all audit results (per-URL metrics, pass/fail, regressions).
regressionsJSON string of detected regressions.
has-regressions'true' or 'false' for easy conditional use in workflows.