/lighthouse-ci

Automate running Lighthouse for every commit, viewing the changes, and preventing regressions

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Lighthouse CI

Overview

Lighthouse CI is a suite of tools that make continuously running, saving, retrieving, and asserting against Lighthouse results as easy as possible.

Quick Start

To get started with GitHub actions for common project configurations, add the following file to your GitHub repository. Follow the Getting Started guide for a more complete walkthrough and instructions on other providers and setups.

.github/workflows/ci.yml

name: CI
on: [push]
jobs:
  lighthouseci:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18
      - run: npm install && npm install -g @lhci/cli@0.14.x
      - run: npm run build
      - run: lhci autorun

Features

  • Get a Lighthouse report alongside every PR.
  • Prevent regressions in accessibility, SEO, offline support, and performance best practices.
  • Track performance metrics and Lighthouse scores over time.
  • Set and keep performance budgets on scripts and images.
  • Run Lighthouse many times to reduce variance.
  • Compare two versions of your site to find improvements and regressions of individual resources.

Screenshot of the Lighthouse CI github app UI Screenshot of the Lighthouse CI server dashboard UI Screenshot of the Lighthouse CI assertion output Screenshot of the Lighthouse CI server diff UI

Documentation

If you're already familiar with continuous integration and have an existing process, start with Getting Started.

If you're not familiar with continuous integration, start with Introduction to CI.

Related Community Projects

A collection of projects using Lighthouse CI written by the community. If you're using Lighthouse CI in your open source project, open a PR to add it here!

  • Lighthouse CI GitHub Action - Automatically run Lighthouse CI on every PR with GitHub Actions, no infrastructure required.

  • Lighthouse CI Starter Example - A minimal example repo that you can use as a template when starting from scratch, offers a beginner-friendly quickstart guide using create-react-app.

Community Guides

A collection of unofficial blog posts, tutorials, and guides written by the community on using Lighthouse CI. If you've written up a guide to using Lighthouse CI in your project, open a PR to add it here!

NOTE: This is not official documentation. You're encouraged to familiarize yourself with Lighthouse CI and read through Getting Started before continuing.

Contributing

We welcome contributions to lighthouse-ci! Read our contributing guide to get started.