--- ci: assert: preset: lighthouse:recommended assertions: performance-budget: "error" render-blocking-resources: - warn # the CSS file. # My site doesn't use JS so it doesn't use the recommended async hack - maxLength: 1 timing-budget: "off" # buggy; manually use the below assertions instead # https://seirdy.one/2020/11/23/website-best-practices.html#about-lazy-loading speed-index: - warn - maxNumericValue: 2000 largest-contentful-paint: - warn - maxNumericValue: 2000 first-contentful-paint: - warn - maxNumericValue: 2000 first-meaningful-paint: - warn - maxNumericValue: 2000 total-blocking-time: - warn - maxNumericValue: 0 cumulative-layout-shift: - warn - maxNumericValue: 0 robots-txt: "off" # Lighthouse bug: CSP makes this impossible canonical: "off" # staging site has no rel=canonical is-crawlable: "off" # staging site isn't crawlable service-worker: "off" # not a PWA works-offline: "off" # not a PWA installable-manifest: "off" # not a PWA splash-screen: "off" # not a PWA themed-omnibox: "off" # not a PWA offline-start-url: "off" # not a pwa offscreen-images: "off" # antipattern: see my article on best practices for textual websites collect: method: node settings: budgetPath: budget.json chromeFlags: "--disable-gpu --no-sandbox --disable-extensions --no-first-run --headless" skipAudits: - robots-txt - canonical - is-crawlable - service-worker - works-offline - installable-manifest - splash-screen - themed-omnibox - offline-start-url - offscreen-images throttling: cpuSlowdownMultiplier: 3.4 # seems about right on builds.sr.ht throttlingMethod: devtools url: - https://staging.seirdy.one/ - https://staging.seirdy.one/about.html - https://staging.seirdy.one/2020/11/23/website-best-practices.html numberOfRuns: 3 upload: outputDir: lighthouse-reports reportFilenamePattern: lighthouse-report-%%PATHNAME%%.%%EXTENSION%% target: filesystem