Skip to content

build(ci): lock @lhci/cli in the lockfile and test the summary script - #94

Merged
Dreamcoder08 merged 3 commits into
mainfrom
ci/lock-lhci
Sep 29, 2026
Merged

Dreamcoder08 merged 3 commits into
mainfrom
ci/lock-lhci

Conversation

@Dreamcoder08

Copy link
Copy Markdown
Owner

Closes #87.

  • @lhci/cli 0.15.1 is now a lockfile-covered devDependency; the workflow runs pnpm exec lhci autorun instead of pnpm dlx.
  • New unit tests for scripts/lighthouse-summary.mjs (odd/even median, missing folder, empty folder, step summary).
  • Supply-chain policy needed no change (no new install scripts).

Unit 196/196, check, format and size budgets green locally; the Lighthouse job proves the workflow change.

https://claude.ai/code/session_01WKW6vNiCa8XkaAWAjPQLRf

Pin @lhci/cli 0.15.1 as a devDependency so the Lighthouse job runs the
lockfile-verified binary via `pnpm exec lhci autorun` instead of fetching
it unverified with `pnpm dlx` on every run. The job already installs
with --frozen-lockfile before this step. No new dependency needs a build
script, so the allowBuilds gate is unchanged.

Refs #87

Claude-Session: https://claude.ai/code/session_01WKW6vNiCa8XkaAWAjPQLRf
Run scripts/lighthouse-summary.mjs in a child process against fake
*.report.json files: odd-count median, even-count median as the mean of
the two middle values, exit 1 with a message for a missing or empty
reports folder, and the table appended to GITHUB_STEP_SUMMARY. Replacing
the even-count mean with the lower middle value fails the even case.

Refs #87

Claude-Session: https://claude.ai/code/session_01WKW6vNiCa8XkaAWAjPQLRf
@Dreamcoder08
Dreamcoder08 merged commit 0b46dd7 into main Sep 29, 2026
2 checks passed
@Dreamcoder08
Dreamcoder08 deleted the ci/lock-lhci branch September 29, 2026 14:07
Dreamcoder08 added a commit that referenced this pull request Sep 29, 2026
* test(console): accumulate sessionStorage restores in chunk-recovery tests

setSessionStorage overwrote a single module-level restore, so a test that
swapped storage twice lost the first restore. Restores now stack and run
newest first in afterEach. Refs #92.

Claude-Session: https://claude.ai/code/session_01WKW6vNiCa8XkaAWAjPQLRf

* test(convergence): drive the pointer-idle teardown test with mock timers

The test waited 260ms of real time; it now enables node:test mock timers
and ticks past the idle timeout, so it is deterministic and instant.
Refs #92.

Claude-Session: https://claude.ai/code/session_01WKW6vNiCa8XkaAWAjPQLRf

* test(terminal): tighten the TERMINAL-003 chromium-only guard

Keep the skip as the first statement, set apart from the page work, and
stop restating the Chromium navigation rationale in two comments. Titles
and tags are unchanged. Refs #93.

Claude-Session: https://claude.ai/code/session_01WKW6vNiCa8XkaAWAjPQLRf

* test(ci): run the lighthouse-summary child with a hermetic env

The child inherited the whole parent env minus GITHUB_STEP_SUMMARY; it now
gets only PATH plus what each test passes, so CI variables such as
NODE_OPTIONS cannot leak in. Also make the table-row helper easier to read.
Refs #95.

Claude-Session: https://claude.ai/code/session_01WKW6vNiCa8XkaAWAjPQLRf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: lock @lhci/cli in pnpm-lock instead of running it through dlx

1 participant