facebook / facebook/docusaurus

Consolidate Lighthouse CI report

Open
#9,449 2 comments 0 reactions 0 assignees View on GitHub
proposal
Dominant language
TypeScript
Stars
66.2k
Forks
10k
Avg merge
1d 3h
Merged PRs (30d)
52

Description

### Motivation

I think the Lighthouse CI report would be more relevant if it was doing multiple runs, showing average scores + variance (if !== 0)

I tried to enable this but unfortunately the reporting does not aggregate multiple runs, so I reverted it in https://github.com/facebook/docusaurus/pull/9448 for now.

We should improve the reporting to consolidate results for each url in a less verbose way, and re-enable `"numberOfRuns": 5`

It could be convenient to keep reports of each run accessible: for example with small links like [1](#) [2](#) [3](#) [4](#) [5](#)

Also the pathname link now targets `localhost`. That would be convenient to link to the netlify preview in this case, although it's not in practice the url we used to run lighthouse (maybe add another column to avoid confusion?)

Ideally we'd also want results for both desktop and mobile? (see https://github.com/facebook/docusaurus/issues/9379#issuecomment-1779662595)

### Example verbose report

We want to avoid this very long table:

| URL | Performance | Accessibility | Best Practices | SEO | PWA | Report |
|---|---|---|---|---|---|---|
| [/](http://localhost:3000/) | 🟠 66 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228361860-4550.report.html) |
| [/](http://localhost:3000/) | 🟠 82 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228361860-4550.report.html) |
| [/](http://localhost:3000/) | 🟠 76 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228361860-4550.report.html) |
| [/](http://localhost:3000/) | 🟠 80 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228361860-4550.report.html) |
| [/docs/installation](http://localhost:3000/docs/installation) | 🟠 68 | 🟒 98 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362439-15365.report.html) |
| [/docs/installation](http://localhost:3000/docs/installation) | 🟠 52 | 🟒 98 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362439-15365.report.html) |
| [/docs/installation](http://localhost:3000/docs/installation) | 🟠 52 | 🟒 98 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362439-15365.report.html) |
| [/docs/installation](http://localhost:3000/docs/installation) | 🟠 51 | 🟒 98 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362439-15365.report.html) |
| [/docs/category/getting-started](http://localhost:3000/docs/category/getting-started) | 🟠 64 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362728-7747.report.html) |
| [/docs/category/getting-started](http://localhost:3000/docs/category/getting-started) | 🟠 58 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362728-7747.report.html) |
| [/docs/category/getting-started](http://localhost:3000/docs/category/getting-started) | 🟠 65 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362728-7747.report.html) |
| [/docs/category/getting-started](http://localhost:3000/docs/category/getting-started) | 🟠 63 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362728-7747.report.html) |
| [/blog](http://localhost:3000/blog) | 🟠 78 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363059-62571.report.html) |
| [/blog](http://localhost:3000/blog) | 🟠 82 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363059-62571.report.html) |
| [/blog](http://localhost:3000/blog) | 🟠 57 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363059-62571.report.html) |
| [/blog](http://localhost:3000/blog) | 🟠 58 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363059-62571.report.html) |
| [/blog/preparing-your-site-for-docusaurus-v3](http://localhost:3000/blog/preparing-your-site-for-docusaurus-v3) | 🟠 53 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363762-12078.report.html) |
| [/blog/preparing-your-site-for-docusaurus-v3](http://localhost:3000/blog/preparing-your-site-for-docusaurus-v3) | 🟠 54 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363762-12078.report.html) |
| [/blog/preparing-your-site-for-docusaurus-v3](http://localhost:3000/blog/preparing-your-site-for-docusaurus-v3) | 🟠 65 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363762-12078.report.html) |
| [/blog/preparing-your-site-for-docusaurus-v3](http://localhost:3000/blog/preparing-your-site-for-docusaurus-v3) | 🟠 69 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363762-12078.report.html) |
| [/blog/tags/release](http://localhost:3000/blog/tags/release) | 🟠 58 | 🟒 100 | 🟒 92 | 🟠 80 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364274-98333.report.html) |
| [/blog/tags/release](http://localhost:3000/blog/tags/release) | 🟠 78 | 🟒 100 | 🟒 92 | 🟠 80 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364274-98333.report.html) |
| [/blog/tags/release](http://localhost:3000/blog/tags/release) | 🟠 61 | 🟒 100 | 🟒 92 | 🟠 80 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364274-98333.report.html) |
| [/blog/tags/release](http://localhost:3000/blog/tags/release) | 🟠 60 | 🟒 100 | 🟒 92 | 🟠 80 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364274-98333.report.html) |
| [/blog/tags](http://localhost:3000/blog/tags) | 🟠 58 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364754-40445.report.html) |
| [/blog/tags](http://localhost:3000/blog/tags) | 🟠 64 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364754-40445.report.html) |
| [/blog/tags](http://localhost:3000/blog/tags) | 🟠 60 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364754-40445.report.html) |
| [/blog/tags](http://localhost:3000/blog/tags) | 🟠 62 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364754-40445.report.html) |
| [/](http://localhost:3000/) | 🟠 59 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228361860-4550.report.html) |
| [/docs/installation](http://localhost:3000/docs/installation) | 🟠 51 | 🟒 98 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362439-15365.report.html) |
| [/docs/category/getting-started](http://localhost:3000/docs/category/getting-started) | 🟠 62 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228362728-7747.report.html) |
| [/blog](http://localhost:3000/blog) | 🟠 59 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363059-62571.report.html) |
| [/blog/preparing-your-site-for-docusaurus-v3](http://localhost:3000/blog/preparing-your-site-for-docusaurus-v3) | 🟠 67 | 🟒 97 | 🟒 92 | 🟒 100 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228363762-12078.report.html) |
| [/blog/tags/release](http://localhost:3000/blog/tags/release) | 🟠 80 | 🟒 100 | 🟒 92 | 🟠 80 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364274-98333.report.html) |
| [/blog/tags](http://localhost:3000/blog/tags) | 🟠 61 | 🟒 100 | 🟒 92 | 🟒 90 | 🟠 89 | [Report](https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1698228364754-40445.report.html) |

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.