ci: move JupyterLab Playwright tests to dedicated CI job#534
Merged
Conversation
Extract the inline JupyterLab Playwright test step from the monolithic build job into its own dedicated job in ci.yml, matching the pattern used by the Marimo, WASM Marimo, Server, and Storybook Playwright jobs. The new job downloads the pre-built wheel artifact and runs the test script directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
These were removed in the bulk cleanup of generated files but are needed by the JupyterLab Playwright tests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Print the actual traceback when PolarsDFViewer fails so we can see the root cause in CI logs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PolarsBuckarooWidget.analysis_klasses contains @stat-decorated functions (from PL_ANALYSIS_V2) alongside classes. The find_most_specific_styling helper called issubclass() on every item without checking if it was actually a class first, causing "issubclass() arg 1 must be a class" when PolarsDFViewer was used. Add isinstance(x, type) guard before the issubclass() check. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
paddymul
added a commit
that referenced
this pull request
Feb 22, 2026
* ci: move JupyterLab Playwright tests from build.yml to ci.yml Extract the inline JupyterLab Playwright test step from the monolithic build job into its own dedicated job in ci.yml, matching the pattern used by the Marimo, WASM Marimo, Server, and Storybook Playwright jobs. The new job downloads the pre-built wheel artifact and runs the test script directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: set JupyterLab Playwright timeout to 5 minutes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: restore integration test notebooks accidentally removed in 1c4cc46 These were removed in the bulk cleanup of generated files but are needed by the JupyterLab Playwright tests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: add error diagnostics to test_polars_dfviewer notebook Print the actual traceback when PolarsDFViewer fails so we can see the root cause in CI logs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: handle non-class items in find_most_specific_styling PolarsBuckarooWidget.analysis_klasses contains @stat-decorated functions (from PL_ANALYSIS_V2) alongside classes. The find_most_specific_styling helper called issubclass() on every item without checking if it was actually a class first, causing "issubclass() arg 1 must be a class" when PolarsDFViewer was used. Add isinstance(x, type) guard before the issubclass() check. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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.
Summary
build.ymljob into its ownTestJupyterLabjob inci.ymlBuildWheel, downloads artifacts, installs deps, runs the test scriptcontinue-on-error: trueto match the previous behaviorTest plan
TestJupyterLabjob appears in CI and runs correctlybuild.ymljob still passes without the removed step🤖 Generated with Claude Code