-
Notifications
You must be signed in to change notification settings - Fork 239
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
Deterministic builds #256
Deterministic builds #256
Conversation
add https://dependabot.com/ to repository? |
I see dependabot around on other repos and I'm not a big fan of the sea of PRs it generates - makes it look like a lot of noise. I was wondering if version bumps could be integrated into the release process - i.e. run But that does have its pitfalls - if that CI fails, then I've got to revert, or do some debugging on master, and the PRs that were merged weren't tested against the latest constraints... So maybe it's the best approach - probably I just need to get used to seeing those PRs and ignoring them! |
My PR got merged - Manylinux is pushing tags for each version now, so we don't need to bother with that :) |
Ok. Few remarks.
|
Thanks for taking a look!
I'm not sure why splitting this is important (If the original pip is broken, it won't be able to update itself). The goal here is to hand off to user code with our specified versions installed.
Assuming you mean dependabot... yes this could well be the best way to do it!
Thanks, I didn't know that about auditwheel. In fact, auditwheel already locks In that case, we can let pip-compile figure out the correct version of
These are constraints files, not requirements files, so they won't be installed unless specifically mentioned.
Agreed. |
Ok, I need to learn a lite about this.
I wrote this because I misunderstund how constrains work. |
Pinned dependencies are different on python2 versus python3! some packages e.g. setuptools have dropped python2 support. I'll have to generate a different constraints.txt for python 2. |
The use of separate bash processes for each build means we can be a bit freer with environment pollution
8b847b2
to
baa0897
Compare
auditwheel's pinning of an old version of 'wheel' is causing problems on mac
Python 2 is being awkward, and there doesn't seem much point in continuing to write around it since #265 is nearly here, so I'll pause this until it does. |
Something else must be involved, since the commands you pasted worked for me. To extract and run pypy, you can download it from https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-win32.zip. As for get-pip.py vs. ensurepip: eunsurepip is supported from 2.7.9+ and 3.3+. I would advise using it over get-pip since it allows the python implementation to ship a known-good version of pip and setuptools. |
Do you have any PYTHON related environment variables set like PYTHONPATH or PYTHONHOME? |
from your DOS command window you can do
which will print any set environment variables starting with |
Please try to copy-paste instead of screen shots |
You can reset the PATH for just this DOS session with
|
And still same error
|
@joerick What is status of this PR? |
just a couple edits to go, then we can think about merging :) |
Alright, I think this is ready! Any more comments before we get this in? |
Upgrade to newest version of package (eg. setuptools)? Or just before release? |
Yes, I'll do that before release. |
It's a lot to go through all changes once more, but I guess this is good to be merged? :-) One thing for a future release: I think PyPy will release a new version (7.3.1) soon. Should we wait for that, or is that for a next release? |
Next release? |
PyPy 7.3.1 is planned to be released this week (if everything goes well). |
If it is painless then yes. If it produce next problem then maybe not wait. |
Okay, I'm doing it! |
Thanks all for your help with this! |
Released as v1.4.0. |
An attempt at getting deterministic builds in cibuildwheel.
pip
,setuptools
,virtualenv
etc. installed on macOS and windows...anything else for that list?
Fix #239