-
Notifications
You must be signed in to change notification settings - Fork 24.2k
Pin all root requirements to major versions #150833
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
base: main
Are you sure you want to change the base?
Conversation
Builds regularly fail due to major changes in build packages, most recently pytorch#150149
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/150833
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 02987a7 with merge base cdf3b63 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
@atalman, you may have some useful insight here |
Yes, they are already, see https://github.com/pytorch/pytorch/blob/main/.ci/docker/requirements-ci.txt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mind creating an issue first to outline why you think one is better than another?
My counter argument for pinning the dependencies in this file, is that we make it hard for developers who want to be on bleeding edge (say if someone wants to start building PyTorch against cpython-3.14, we should not cripple them by constraining upper version they can use.
But if you want reproducible builds, one can use requirements-ci.txt
which pins dependencies specific to Python runtime version (for example some version of numpy are compatible with python-3.9 but incompatible with 3.13)
Thanks for the feedback. That makes sense, I agree the root
The unit test CI installs pytorch/.ci/docker/ubuntu/Dockerfile Line 39 in 4b8b7c7
but the manywheel builds use the root pytorch/.ci/manywheel/build_common.sh Line 103 in 1d9401b
Should the manywheel builds also use I'm happy for this PR to be rejected, and I can make a new one with a different approach, or I can make an issue to discuss further. |
Builds regularly fail due to major changes in build packages (most recently #150149), should we pin all the root
requirements.txt
to at least major version?I made this a draft because I didn't really know the right solution, but
pip install -r requirements.txt
but the Ubuntu unit testing CI usespip install -r requirements-ci.txt
. @malfet suggested here that we should pin build requirements in CI but not for local development, should we have another set of requirements for just manylinux?pip install
, but this could be done in theDockerfile
, it would have the added benefit of speeding up the CI and making the builds more reproducible.