Skip to content

Add Lighthouse CI to PR build workflow to produce performance reports#2813

Open
holly-cummins wants to merge 4 commits into
quarkusio:mainfrom
holly-cummins:lighthouse-ci
Open

Add Lighthouse CI to PR build workflow to produce performance reports#2813
holly-cummins wants to merge 4 commits into
quarkusio:mainfrom
holly-cummins:lighthouse-ci

Conversation

@holly-cummins

@holly-cummins holly-cummins commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

This is something I think we ought to have, independent of migration.

As far as I can tell, Lighthouse, from Google Chrome, is still the industry standard for performance and best practices tests for sites. This PR runs Lighthouse against the test server after smoke tests, scoring performance, accessibility, best practices, and SEO for key pages. Results appear as a color-coded table in the GitHub step summary and are uploaded as build artifacts.

If we go below a certain threshold it will warn. For some categories like accessibility, it will fail the build, but otherwise, people need to check the reports to see the warnings. If the reports are useful we should maybe add them to the bot comments on the PR, but maybe we should wait to see if we like them first.

As with the e2e testing, it will run everything for infra changes, and otherwise it will just run changed pages. This does create a risk that a change a to a bad page would have bad scores and error because there aren't other pages to drag average scores up. We may need to wait and see how that plays out.

I was uneasy about supply chain issues, but lhci is owned by Chrome, and this uses npm ci with a lockfile to pin @lhci/cli dependencies. So it should be ok.

Here's the report we get at the moment:
image

... and the full details live at https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1782923375367-10880.report.html. Looking through the report, there's clearly some perf work we should be doing.

cc @insectengine

@quarkus-bot

This comment has been minimized.

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

🎊 PR Preview 35958d8 has been successfully built and deployed to https://quarkus-website-pr-2813-preview.surge.sh

  • Images of blog posts older than 3 months are not available.
  • Newsletters older than 3 months are not available.

@quarkus-bot

This comment has been minimized.

holly-cummins and others added 4 commits July 10, 2026 12:28
Runs Lighthouse against the test server after smoke tests, scoring
performance, accessibility, best practices, and SEO for key pages.
Results appear as a color-coded table in the GitHub step summary and
are uploaded as build artifacts.

Uses npm ci with a lockfile to pin @lhci/cli dependencies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

# Conflicts:
#	.github/workflows/build.yml
Keeps @lhci/cli and any future npm dependencies up to date.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reuses the link_scope step outputs: skips when no HTML changed, tests
only changed pages (capped at 5) for partial PRs, and falls back to
key pages (/, /guides/, /blog/) for full checks. URLs are now passed
via CLI args instead of hardcoded in lighthouserc.js.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reads report URLs from .lighthouseci/links.json (written by the
temporary-public-storage upload) and adds them to the step summary
table.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@quarkus-bot

quarkus-bot Bot commented Jul 10, 2026

Copy link
Copy Markdown

Status for workflow Build

This is the status report for running Build on commit b8df7f8.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

@insectengine insectengine left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't speak the technical code but I agree with the concept. ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

2 participants