Skip to content

[4.3.x] Failing usage check on CI #17518

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

Closed
jtpio opened this issue Apr 30, 2025 · 9 comments
Closed

[4.3.x] Failing usage check on CI #17518

jtpio opened this issue Apr 30, 2025 · 9 comments
Labels
bug help wanted status:Needs Triage Applied to new issues that need triage
Milestone

Comments

@jtpio
Copy link
Member

jtpio commented Apr 30, 2025

Description

The CI for PRs opened against the 4.3.x branch appears to be failing.

For example with #17512:

https://github.com/jupyterlab/jupyterlab/actions/runs/14707974552/job/41400102843?pr=17512

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [43 lines of output]
    running develop
    /tmp/pip-build-env-dzwcango/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:90: DevelopDeprecationWarning: develop command is deprecated.
    !!
    
            ********************************************************************************
            Please avoid running ``setup.py`` and ``develop``.
            Instead, use standards-based tools like pip or uv.
    
            By 2025-Oct-31, you need to update your project and remove deprecated calls
            or your builds will no longer be supported.
    
            See https://github.com/pypa/setuptools/issues/917 for details.
            ********************************************************************************
    
    !!
      self.initialize_options()
    /opt/hostedtoolcache/Python/3.12.10/x64/bin/python: No module named pip

Image

@jtpio jtpio added bug status:Needs Triage Applied to new issues that need triage labels Apr 30, 2025
@jtpio jtpio added this to the 4.3.x milestone Apr 30, 2025
@jtpio
Copy link
Member Author

jtpio commented Apr 30, 2025

Related to the new setuptools maybe?

Image

@krassowski
Copy link
Member

I guess the question is what's different between 4.3 and 4.4 (5) that it passes on the latter.

Also related:

@jtpio
Copy link
Member Author

jtpio commented Apr 30, 2025

main has:

"setuptools>=41.1.0",

4.3.x has:

"setuptools>=40.8.0",

Not sure this makes a difference in this case, but we could still try to align the version on the 4.3.x branch (edit: #17519)

@krassowski
Copy link
Member

Ah, so first on main we are testing Linux against 3.13, not 3.12. Indeed, the setuptools versions installed on CI differ:

< Collecting setuptools>=40.8.0 (from jupyterlab==4.3.6)
<   Downloading setuptools-80.0.1-py3-none-any.whl.metadata (6.5 kB)
---
> Collecting setuptools>=41.1.0 (from jupyterlab==4.4.1)
>   Downloading setuptools-80.0.0-py3-none-any.whl.metadata (6.5 kB)

Interestingly, the main branch installs the older version!

Other differences I see are:

< Collecting ruff==0.6.9 (from jupyterlab==4.3.6)
> Collecting ruff==0.11.4 (from jupyterlab==4.4.1)
<   Using cached uv-0.7.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
>   Using cached uv-0.6.17-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
<   Using cached trove_classifiers-2025.4.28.22-py3-none-any.whl.metadata (2.4 kB)
>   Using cached trove_classifiers-2025.4.11.15-py3-none-any.whl.metadata (2.4 kB)
< Using cached ruff-0.6.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB)
> Using cached ruff-0.11.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB)

@jtpio
Copy link
Member Author

jtpio commented Apr 30, 2025

Maybe we could also test 3.13 on 4.3.x.

@krassowski
Copy link
Member

I think the crux is that we just need to move away from using setup.py develop as it will be removed soon.

DEPRECATION: Legacy editable install of test_hyphens==3.0.2 from file:///home/runner/work/jupyterlab/jupyterlab/jupyterlab/tests/mock_packages/test-hyphens (setup.py develop) is deprecated. pip 25.3 will enforce this behaviour change. A possible replacement is to add a pyproject.toml or enable --use-pep517, and use setuptools >= 64. If the resulting installation is not behaving as expected, try using --config-settings editable_mode=compat. Please consult the setuptools documentation for more information. Discussion can be found at pypa/pip#11457

Maybe we just need to backport:

Maybe we should later also remove

# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
# setup.py shim for use with applications that require it.
__import__("setuptools").setup()

But it does not cause issues on main

@jtpio
Copy link
Member Author

jtpio commented Apr 30, 2025

I think the crux is that we just need to move away from using setup.py develop as it will be removed soon.

For sure. I was just hoping there was some easy fix to apply to 4.3.x since it passes on main. But yeah depending on how time consuming the CI debugging will be, maybe we could just fix the usage directly.

@krassowski
Copy link
Member

It looks like #17520 fixes it

@jtpio
Copy link
Member Author

jtpio commented Apr 30, 2025

Nice, thanks! 🙏

@jtpio jtpio closed this as completed Apr 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug help wanted status:Needs Triage Applied to new issues that need triage
Projects
None yet
Development

No branches or pull requests

2 participants