-
Notifications
You must be signed in to change notification settings - Fork 219
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
refactor: generate requirements files #1055
Conversation
dead6f1
to
617e4fd
Compare
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.
Thanks @henryiii, this looks good overall.
One minor issue is that we'll lose what's been bumped in the PR description and the change logs from dependabot but those minor details are really not showstoppers and, at least for what's been bumped, one can look at the commit itself rather than its description.
I might use this PR as a baseline to continue with the automated update thingy I worked on a couple months ago. |
@mayeut Should I add docs? If you think this approach is better, let me know how you want it finished off. |
I'll have another look once CPython 3.5 is dropped (and CPython 3.10 added) |
Now that #1090 is merged in, I wonder if See also: |
beea87f
to
8b2e119
Compare
I used #1090 to run nox in manylinux to get Python 3.10. :) |
8b2e119
to
345ce7b
Compare
Note: if the nox action on GHA doesn't include pre-release Pythons, then we'll need one extra setup-python with 3.10. |
PS: It's also still very much up to you which method you'd rather maintain. :) |
Now that we talked about that both here & over at cibuildwheel, I opened #1095 with the addition of pipx and it would now makes sense, I think, to use one of the manylinux image to run the job (& in the doc). For the CI job, I'd go with For the docs, it might be worth mentioning that any manylinux2010+ image can be used. Edit:
|
I don't think we want to run the CI job in the image, since it's probably faster to use the native actions over pulling a docker container (the Pythons are pre-installed), and you get into a chicken-and-egg problem if you add a new Python version. (Yes, 3.10 is missing in the docker image, which is why I used #1090 to run the 3.10 job in manylinux, manually adding nox - should be much simpler now) |
Sorry, I missed the fact that the nox image wasn't used in the job. I'm understanding your previous Note correctly now. For the chicken-and-egg problem, If we were to use a manylinux image, my best guess is that when adding a new python version, we'd just need to copy/paste the previous python version requirement file to bootstrap the whole process. The job would then just pick that up no ? It doesn't happen that often anyway for it to be really troublesome |
79c298f
to
82531ff
Compare
No more locale bug for < 3.7 with the manylinux image. :) |
b308c0e
to
db0c47b
Compare
Checked it with the update workflow turned on on an earlier build, looks like it's working fine. There might be some changes needed due to the token requirement - see @joerick's workaround on cibuildwheel with a GitHub app token. |
I've been meaning to ask pypa about a bot / app when saw his work but forgot since then... |
pypy/manylinux will need minor changes, I'm looking at https://github.com/pypy/manylinux/blob/8650a6d4a534e72dd3f5d1b38327cc94e404986b/docker/build_scripts_pypy/install_pypy.sh#L46 specifically, which will need the version number added, Wouldn't it be possible to add pypy to the pythons in pypa/manylinux? I think this was hinted at in pypy/manylinux#7, and would solve the issue in pypy/manylinux#15. |
Maybe open a separate issue for this? |
Actually, it looks like pypy/manylinux is based on an old version of pypa/manylinux; notably it has a copy of requirements.txt internally (which is missing other important things we've added in this repo, mostly build). |
Co-authored-by: Matthieu Darbois <[email protected]>
16a0a93
to
4ce408b
Compare
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.
Let's get this in.
I'll deal with the bot a bit later.
backport pypa#1055 Co-authored-by: Matthieu Darbois <[email protected]>
backport #1055 Co-authored-by: Matthieu Darbois <[email protected]> Co-authored-by: Henry Schreiner <[email protected]>
Closes #1019, based on the similar structure in cibuildwheel. Suggested by @mayut to improve maintainability.
To run locally, either install all versions of Python or use docker, two examples below: