Skip to content

Latest commit

 

History

History
38 lines (23 loc) · 1.51 KB

architecture.md

File metadata and controls

38 lines (23 loc) · 1.51 KB

Architecture

image

Overview

Lighthouse CI is split into two core packages @lhci/cli and @lhci/server. The CLI is the primary way users interact with Lighthouse CI. The server module is used to setup the Lighthouse CI server.

The CLI is broken down into commands that are run in a variety of environments. See the below lists for where we expect different commands to be run.

Locally, on a user's device

  • wizard (create new projects on the LHCI server)
  • collect (run Lighthouse many times)
  • open (open the median run)

Remotely, on CI servers

  • autorun
  • healthcheck
  • collect
  • assert
  • upload

Remotely, on a LHCI server

  • server
  • wizard (reset tokens)

CI Flow

The typical CI flow for command execution is healthcheck -> collect -> assert -> upload. Each command reads/writes data from the .lighthouseci/ folder on the local filesystem. This is where collect will store reports, assert will read reports and write assertion results, and upload will read both reports and assertion results to upload to another location such as the temporary public storage service, GitHub (for status checks), or a LHCI server.

Related Documents