Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

check_release fails in jupyverse #571

Closed
davidbrochart opened this issue Apr 22, 2024 · 4 comments · Fixed by #572
Closed

check_release fails in jupyverse #571

davidbrochart opened this issue Apr 22, 2024 · 4 comments · Fixed by #572
Labels
bug Something isn't working

Comments

@davidbrochart
Copy link
Contributor

Description

This probably happened with recent changes, see here.

  File "/home/runner/work/_actions/jupyter-server/jupyter_releaser/v2/jupyter_releaser/cli.py", line 381, in bump_version
    package_path, package_name = (
ValueError: too many values to unpack (expected 2)
@davidbrochart davidbrochart added the bug Something isn't working label Apr 22, 2024
@jtpio
Copy link
Member

jtpio commented Apr 23, 2024

Looks like this is related to #570, which modified line 381 of cli.py (cc @krassowski)

@krassowski
Copy link
Collaborator

Thanks for the ping, I opened #572.

This comes from jupyverse having a package configured with two colons: '.:jupyverse:jupyverse_api,fps-noauth,fps-auth,fps-auth-fief,fps-auth-jupyterhub,fps-contents,fps-jupyterlab,fps-kernels,fps-lab,fps-frontend,fps-nbconvert,fps-notebook,fps-terminals,fps-yjs,fps-resource-usage,fps-webdav'.

What is the second colon used for? While my PR will fix the bug in the code, it is not clear to me if it will work with the spec like above. Is the usage like that documented somewhere?

@davidbrochart
Copy link
Contributor Author

Hmm not sure it's documented, but if I remember correctly the following means:

[tool.jupyter-releaser.options]
python_packages = [
    "jupyverse_api:jupyverse_api",
    "plugins/noauth:fps-noauth",
    "plugins/auth:fps-auth",
    "plugins/auth_fief:fps-auth-fief",
    "plugins/auth_jupyterhub:fps-auth-jupyterhub",
    "plugins/contents:fps-contents",
    "plugins/frontend:fps-frontend",
    "plugins/jupyterlab:fps-jupyterlab",
    "plugins/kernels:fps-kernels",
    "plugins/lab:fps-lab",
    "plugins/nbconvert:fps-nbconvert",
    "plugins/notebook:fps-notebook",
    "plugins/terminals:fps-terminals",
    "plugins/yjs:fps-yjs",
    "plugins/resource_usage:fps-resource-usage",
    "plugins/login:fps-login",
    "plugins/webdav:fps-webdav",
    ".:jupyverse:jupyverse_api,fps-noauth,fps-auth,fps-auth-fief,fps-auth-jupyterhub,fps-contents,fps-jupyterlab,fps-kernels,fps-lab,fps-frontend,fps-nbconvert,fps-notebook,fps-terminals,fps-yjs,fps-resource-usage,fps-webdav"
]

that there is a Python package in directory:

  • jupyverse_api called jupyverse_api,
  • plugins/noauth called fps-noauth,
  • ...
  • . called jupyverse, which depends on jupyverse_api, fps-noauth, etc.

IIRC the dependencies given in the last line indicate that these packages are built locally, not coming from PyPI.
There was this issue for more background.
I'm also thinking about a custom releaser for Jupyverse, so I'm not sure if investing more time in jupyter-releaser is worth it. I don't really like the fact that every release of Jupyverse releases every plugin, even if there are no changes. I would like a package to not be released if nothing changed. Otherwise it kind of breaks SemVer, meaning that a major bump in a package would make a major bump in another package that actually didn't change. Also, releasing everything every time means more work on conda-forge, which is not fully automated.

@krassowski
Copy link
Collaborator

I would love to add a new field to the releaser allowing to bump and release an individual package. This would allow me to use it for jupyterlab-lsp monorepo too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants