test: pin launchpad#80 + nb_nebi_kernels#5 for integration build [DO NOT MERGE]#98
Open
viniciusdc wants to merge 1 commit into
Open
test: pin launchpad#80 + nb_nebi_kernels#5 for integration build [DO NOT MERGE]#98viniciusdc wants to merge 1 commit into
viniciusdc wants to merge 1 commit into
Conversation
Pin the singleuser image's jupyterlab-launchpad and nb_nebi_kernels deps to MUFFANUJ's open PR branches so CI builds a pr-<n> image carrying the remote- kernel-surfacing backend and the launchpad frontend that consumes its nebi_* state metadata end to end: - nb_nebi_kernels -> surfaceRemoteEvns (remote envs as kernels + state) - jupyterlab-launchpad -> nebi-kernel-metadata-refresh (badges + refresh cmd) launchpad is a TS/JS extension whose git source builds via a jlpm build:prod hook, so nodejs (already present transitively) is pinned explicitly to keep it on PATH during pixi install. pixi.lock regenerated so pixi install --locked resolves both git sources. DO NOT MERGE: integration-test scaffolding. Revert to released versions once both upstream PRs land and a kernels release is cut.
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
DO NOT MERGE. Integration-test scaffolding so CI builds a singleuser image
that carries the remote-Nebi-kernel work end to end — the backend that emits
state metadata and the frontend that renders it.
Pins the singleuser image's two Nebi-related deps in
images/jupyterlab/pixi.tomlto MUFFANUJ's open PR branches:nb_nebi_kernels==0.1git+https://github.com/MUFFANUJ/nb-nebi-kernels.git@surfaceRemoteEvnsjupyterlab-launchpad==1.0.5git+https://github.com/MUFFANUJ/jupyterlab-launchpad.git@nebi-kernel-metadata-refreshThe two are pinned together on purpose:
jupyterlab-launchpad's new statebadges / sort ranking /
refresh-kernelscommand only render meaningful datawhen the kernelspec manager emits the
nebi_*metadata, which is exactly whatthe
nb-nebi-kernelsbranch adds. Pinning only the frontend would load thecode against an empty metadata contract.
What's in the diff
images/jupyterlab/pixi.toml28cc06blaunchpad /ebbb50fkernels)nodejs = ">=20"made explicit.jupyterlab-launchpadis a TS/JSextension whose git source builds via a
jlpm build:prodhatch-jupyter-builder hook (the branch gitignores the prebuilt
labextension/), so node must be on PATH duringpixi install. It wasalready present transitively via
jupyterlab; pinning it explicitly keepsthe source build from silently breaking if that transitive edge moves.
images/jupyterlab/pixi.lock— regenerated sopixi install --locked(used by
images/Dockerfile) resolves both git sources. No new transitivePython deps; no incidental
jupyter-vscode-proxyHEAD drift this time.Test plan
Build Docker Imagesproducesquay.io/nebari/nebari-data-science-pack-jupyterlab:pr-<n>(amd64 + arm64). Watch the launchpadjlpm build:prodstep — first git-sourced JS extension in this image, so the node build path is exercised for the first time.Test Deployment(k3d) passes — singleuser env installs without breaking.NEBI_REMOTE_URL+ JWT in the pod, remote-only workspaces surface asremote-not-pulledkernels and local kernels classify (ready/local-not-installed/local-missing-deps) in the launcher.References
This image build is the integration vehicle for:
nb-nebi-kernelsstate metadata and add explicit refresh trigger jupyterlab-launchpad#80 (consumenb-nebi-kernelsstate metadata + refresh trigger)Once both upstream PRs land and a
nb-nebi-kernelsrelease is cut, theproduction pins bump to the tagged versions and this branch is dropped.