Run connect-mode integration tests against plain jupyter-server, jupyter-collaboration, and jupyter-server-documents#91
Open
andrii-i wants to merge 4 commits into
Conversation
4f8f9a6 to
ad26393
Compare
This was referenced Jun 3, 2026
06747c2 to
57dd139
Compare
57dd139 to
828cbbc
Compare
This was referenced Jun 8, 2026
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.
nb-clineeds to work across different Jupyter Server configurations: vanilla, withjupyter-collaboration, and withjupyter-server-documents. This PR enables connect-mode integration tests and runs them against all three configurations to surface compatibility issues with vanilla Jupyter Server and each collaboration backend.Changes
Added
test-connectjob torust.ymlwith a 3-value matrix (jupyter-server, no collab,jupyter-collaboration,jupyter-server-documents). Each configuration spins up its own runner, installs the relevant packages, starts a Jupyter Server, and runsintegration_connect_modetests.fail-fast: falseso all three run to completion regardless of individual failures.Modified
start_shared_server()inintegration_connect_mode.rsto accept an externally-managed Jupyter Server viaNB_TEST_SERVER_URL/NB_TEST_SERVER_TOKEN/NB_TEST_SERVER_ROOTenvironment variables. CI starts the server and passes these to the test binary. When the env vars are not set, the tests fall back to starting their own server locally (no change to local dev workflow).Simplified
test_helpers.rs. The venv helper now just checks if the pre-built venv exists instead of creating it and installing packages. Venv setup is handled bysetup_test_env.sh(local dev) or the CI step.Removed the hardcoded
uv pip install jupyter_server jupyter-server-documentsfrom the test code. The CI job controls what's in the venv.Removed unnecessary
unsafe impl Send/Sync for SharedServerInfo(all fields areString/PathBuf).Renamed CI jobs for consistency:
test local,test local (windows),test connect (*).Initial CI results, merge strategy
jupyter-server, no collabjupyter-collaborationjupyter-server-documentsThe jupyter-server-documents failures are known issues: the execute hang is tracked in #87 (work in progress fix in #89), and the clear-outputs failures are tracked in #90. These are pre-existing bugs surfaced by the new matrix, not regressions. Let's merge this PR as-is and address in follow-up PRs.
Existing test, lint, and test local (windows) jobs are unchanged and pass.