Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the release/publish CI configuration to better support automated releases by aligning the build backend dependencies and adding an auto “prepare release” workflow.
Changes:
- Switch the build-system requirement from
jupyter_buildertohatch-jupyter-builder. - Simplify PyPI/TestPyPI publish workflows’ build-dependency installation.
- Add a new manual “Prepare Release (Auto)” workflow that bumps the version, runs checks, tags, and creates a draft GitHub release.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
pyproject.toml |
Updates build-system requirements to use hatch-jupyter-builder for Hatch/Jupyter build integration. |
.github/workflows/publish.yml |
Adjusts build dependency install step for PyPI publishing. |
.github/workflows/publish-test.yml |
Adjusts build dependency install step for TestPyPI publishing. |
.github/workflows/prepare-release-auto.yml |
Adds a new workflow to bump version, run lint/tests, build, tag, and draft a GitHub release. |
|
|
||
| [build-system] | ||
| requires = ["hatchling>=1.5.0", "jupyterlab>=4.0.0,<5", "hatch-nodejs-version", "jupyter_builder"] | ||
| requires = ["hatchling>=1.5.0", "jupyterlab>=4.0.0,<5", "hatch-nodejs-version", "hatch-jupyter-builder"] |
There was a problem hiding this comment.
[build-system].requires now depends on hatch-jupyter-builder without a version constraint, but the jupyter-builder hook below already declares hatch-jupyter-builder>=0.5. To avoid non-reproducible builds (and potential breakage if an older/newer incompatible plugin is resolved), align the build-system requirement with the minimum supported version (e.g., hatch-jupyter-builder>=0.5).
| requires = ["hatchling>=1.5.0", "jupyterlab>=4.0.0,<5", "hatch-nodejs-version", "hatch-jupyter-builder"] | |
| requires = ["hatchling>=1.5.0", "jupyterlab>=4.0.0,<5", "hatch-nodejs-version", "hatch-jupyter-builder>=0.5"] |
| python -m pip install "jupyterlab>=4.0.0,<5" hatch | ||
| - name: Build Distribution | ||
| run: hatch build |
There was a problem hiding this comment.
This workflow builds artifacts via hatch build, but the repo’s release docs and CI use python -m build (see RELEASE.md:39-40 and .github/workflows/ci.yml:87-92). Consider switching here as well to keep the build path consistent and to avoid depending on the Hatch CLI for publishing (install build and run python -m build).
| python -m pip install "jupyterlab>=4.0.0,<5" hatch | |
| - name: Build Distribution | |
| run: hatch build | |
| python -m pip install "jupyterlab>=4.0.0,<5" build | |
| - name: Build Distribution | |
| run: python -m build |
| python -m pip install "jupyterlab>=4.0.0,<5" hatch | ||
| - name: Build Distribution | ||
| run: hatch build |
There was a problem hiding this comment.
This workflow builds artifacts via hatch build, but the repo’s release docs and CI use python -m build (see RELEASE.md:39-40 and .github/workflows/ci.yml:87-92). Consider switching here as well to keep the build path consistent and to avoid depending on the Hatch CLI for publishing (install build and run python -m build).
| python -m pip install "jupyterlab>=4.0.0,<5" hatch | |
| - name: Build Distribution | |
| run: hatch build | |
| python -m pip install "jupyterlab>=4.0.0,<5" build | |
| - name: Build Distribution | |
| run: python -m build |
|
|
||
| - name: Build distribution | ||
| run: hatch build |
There was a problem hiding this comment.
The repo’s documented/CI build path is python -m build (RELEASE.md:39-40, .github/workflows/ci.yml:87-92), but this workflow uses hatch build. Consider switching this step to python -m build so the auto-release validation uses the same build mechanism as CI/publishing (and adjust the earlier dependency install accordingly).
No description provided.