Repository navigation
ci: browser smoke test of the JupyterLite site - #136
Merged
Merged
Conversation
Run Chromium and WebKit (the Safari engine) against the JupyterLite site via Playwright: wait for the Pyodide kernel, run the bootstrap cell, and require its status line; also fail if JupyterLab plugins fail to activate, which happens before any kernel exists and which the Node Pyodide check cannot see. - docs.yml: check the built site before deploy (not on pull requests; informational until it has run green once on main). - lite-smoke.yml: check the live site after each Docs Publish on main and weekly, since PyPI drift arrives with no commit in this repo. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 31 |
| Duplication | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
JupyterLite broke this week in ways no existing check could see: a dependency's requirements changed on PyPI (RTB/bdsim/MVTB demos), and a Safari session failed in JupyterLab's own app shell before any kernel existed. The Node/Pyodide install check covers dependency installs but has no browser or JupyterLab.
What
docs/lite/browser_check/check_lite_in_browser.py(Playwright; Chromium and WebKit, the engine behind Safari): fresh context -> openintro.ipynb-> wait for the Pyodide kernel to be idle -> run the bootstrap cell -> requireRunning in browser using MVTB v.... Also fails onPlugin '...' failed to activateconsole errors, and saves a screenshot on failure.Triggers, none of which run on pull requests:
docs.yml, afterjupyter lite buildworkflow_dispatchlite-smoke.ymlTested
Locally, in an isolated venv with Playwright 1.63:
Running in browser using MVTB v2.4.1 with OpenCV 4.10.0), ~30 s total;Not tested, please know
The workflow wiring itself has not run in Actions: the
docs.ymlsteps are skipped on PRs by design andlite-smoke.ymlmust be onmainbefore it can be dispatched. To keep a flaky new step from wedging the docs deploy, the pre-deploy step iscontinue-on-error: truewith a comment to remove it after one green run onmain.Playwright's WebKit is Safari's engine, not Safari: it catches app-shell and engine failures, but not a user's own stale site data (see the troubleshooting section, #134).
🤖 Generated with Claude Code