-
Notifications
You must be signed in to change notification settings - Fork 3k
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
April 2021 Release #9761
Comments
We should, but I'm not sure if I'll have the bandwidth to be RM. |
If no-one with prior experience has the bandwidth to do it I can take it. I've had a quick look at the procedure, which seems very clear (kudos). I have a couple of questions, though:
|
@sbidoul Awesome! Feel free to "assign" this issue to yourself. :)
I can do it, but I'd prefer to start spreading the knowledge of the release process among more of us.
Do it whenever you want honestly. Closer is better IMO, but as your intuition tells you, too close is bad. :)
Yea, it's usually a good idea to. It's our way of making sure that CPython's vendored wheel does not lag too far behind PyPI.
This is subjective. I've usually just dropped a discuss.python.org post for most releases. OTOH, the releases during the resolver rollout were significantly more publicised. |
Yes we should. With the 21.0 release, there was a problem backporting to Python 3.8 and 3.9, so 21.0 never got into those releases. The root issue is #9540, which is still open. To be honest, I don't know what to do about this, there's a mess of dependencies here with setuptools and packaging, and I don't know what (if any) movement there has been. It's bad that we can't get the latest version of pip into Python 3.9, but we're not in control of any of the parts causing the issue. I suggested a "quick fix" here but people weren't enthusiastic, preferring to go for the more correct solution. I'd consider it a RM call whether we want to push to get 21.1 into CPython. Personally, I'd apply the quick fix if the no-one can confirm that the "proper" fix is going to be in place in time. But I guess it's your call. I'll try to prepare a PR today with a test that pip runs with warnings as errors, and with the "quick fix" (assuming that the test is still failing!) so at least you have something to make a decision on 🙂 |
We updated/can update the setuptools version, which should fix the breakage? Unless I'm missing something here, this should be fine. But yea, that's a call for the RM to make. Lemme know if you want someone to take a closer look. I'll be happy to. |
I admit I'd rather not poke this specific hornet nest myself :) So if you want to have a closer look I'll be happy if you do @pradyunsg |
Possibly. I just tried to write a test for this (
I think it should work, but right now I'm getting random test suite failures locally and I don't know why. I've just done the branch rename thing, maybe something happened there, or maybe there are test failures on main at the moment (I saw some PRs about fixing CI against main, but I think they were lint). Anyway, I don't have time to get my dev environment fixed up at the moment, so if someone else wants to add that test, feel free. I do think that we should have the test, if only to ensure that the ensurepip PR doesn't break (because that's nearly always a last minute or after-the-fact part of the release in my experience, at which point finding out that the CPython tests fail is, shall we say, "unwelcome" 🙂) If the test runs fine now, then I guess we might have already fixed the issue, but a quick manual test suggests not:
Sorry, that really is all I have time to do on this for now. |
Whelp. |
Yep. Setuptools is checking random bits of the filename to see if they are versions, relying on the version parser accepting anything without complaint. See here. |
I think we should do what you suggested in #9761 (comment), to unblock the CPython updates.
|
Cool. I can't do this right now, as the pip test suite is failing all over the place on my machine. I've just spent ages tracking down an issue that makes virtualenv fail on my PC (fix incoming) and now I'm getting failures in the unit tests:
It looks like someone introduced some additional output, and mucked up testing somehow - one of the outputs that was expected to get one line is:
Those debug lines look suspicious 🙁 I think this actions run is the latest CI against main, but it seems to be broken. So I can't be sure if main is passing the tests in CI right now... I've spent about as much time as I'm willing to for today tracking down test suite bugs and existing problems - so if anyone has a quick suggestion, please let me know. Otherwise, I'll get back to looking at adding that warning (and a test to check it does the job!) when things settle down, or I have more time/energy. |
I have done a review round on the issues and PRs in the 21.1 milestone. If there are no other important / risky things people want to land in 21.1 (if there are, please let me know), I plan to do the release over the next week-end. |
I plan to release tomorrow around mid day (Europe time). |
I have the following highlights. Anything else @pypa/pip-committers want to add / remove ?
|
I'd call out the git security fix as well, using the phrasing from the NEWS fragment. And... A little bit of word-smithing below, which are mild suggestions. :) I won't call it the "new resolver", just... dependency resolver. The older one is legacy after all. :P
|
And the release is done:
|
Incidentally this led me to the creation of my second bpo ever, the first one being... 229 months ago 😅 |
Apparently the PR needed approval to run CI. I've done that and I'll keep an eye on the results. |
That's a new GitHub policy to prevent crypto miners from hijacking GitHub actions. :/
Thanks! |
Hmm, can I have a cut of the bitcoin you make, then? 🙂 💰 |
Also, I'll flag the PR for backport to 3.9 and 3.8. It should get into the final 3.8 release, 3.8.10, as a result. |
Looks like #9617 is gonna be the high traffic issue for this release, seemingly due to Ubuntu/Debian. |
CPython PR merged to master. It looks like the backports failed, can you take a look @sbidoul? I've not got the time today (and possibly not this weekend) to look at this. |
Let's close the flood gates, and then we'll fix the smaller leaks. In other words, resolving the #9617 flood is fairly high priority IMO. If you're willing to make a 21.1.2 soon-ish, I'd strongly prefer that we release 21.1.1 based on what we have in (heads up: I think the bugfix process in the docs might be slightly outdated) As for waiting on packaging, I'll take a look at it later today, and see what the state of affairs is. It doesn't seem urgent or a release blocker in any way IMO. Same for #9841. |
Ok. I'll do the release tonight, from |
Yep I had noticed that. In practice it should be identical to the main release process except we branch off the previous tag (when we can't use main). Or is there something I overlooked ? |
OK. Make sure you ping the RMs for approval on the PRs, I won't merge them myself unless they are approved. |
No, you're correct. What I've done in the past is roughly:
That said, you can probably get away with just cutting it off-of-main, since we wanna include everything. |
Broken since 3.8 (3.7 works), but yeah, I do have to admit that's a defensible position. I'm surprised there aren't more people getting burned by this (I would have thought calling python in MSVC tooling was more common), but apparently not: neither #8649 nor BPO38989 attracted a large number of "me too" commenters. So while it would be nice to hit the last 3.8 patch and fix this 3.7->3.8 regression before the branch dies (then all 3.x would work), my stronger interest is more on getting the fix into some working build that is still supported, since 3.7 is now into "security only, and no binary releases", so I'd like to be able to take a newer version. If we miss Monday's CPython but a pip 21.1.2 can happen that will get into 3.9.6, and 3.10.0b2 (3.8 just stays broken, as it has been its entire life), that's enough. |
That seems a bit strong, surely it's simply a matter of upgrading pip once there's a fixed version, so 3.8 will hardly "stay broken". |
Good point, pip itself is a py3-none-any.whl, so there isn't a wrong-architecture wheel for it to pick and the bug won't manifest. So you're right; one could upgrade your way out of it with upgrade-ensurepip once there was a newer pip available, even if the fix missed 3.8.10 |
I wouldn't recommend hacking the stdlib module. Just upgrade pip in the environment you work in ( |
Or, like, run |
21.1.1 uploaded to PyPI
|
It looks like things are getting quieter. Shall we do a last 21.1 bugfix release soon ? Milestone 21.1.2 is populated with what has been identified so far. Is there anything else that needs to land in it ? |
That would be the last release that could get into python 3.10, right? I see right now that 21.2 milestone says "Due by July 31, 2021", which seems too late vs PEP 619 (it would fall between beta 4 and candidate 1, and I would think CPython doesn't want a new minor version in the release candidate). If so I would think we whatever pip gets bundled with 3.10 needs pypa/packaging#396 (more than 3.8/3.9 did), to avoid getting hit by the new DeprecationWarning (per PEP 632 "import distutils will raise a deprecation warning" in 3.10 and 3.11, then be removed in 3.12). Currently packaging.tags v20.9 still uses distutils. Unless @pradyunsg needs a fresh source of warnings to mine for stackoverflow upvotes :-) And yes, it would also fix #8649/#9962, which I would really selfishly like so we could upgrade past python 3.7 without builds picking up wrong-architecture wheels all the time :-) |
Not sure about the policy from beta to rc, but CPython upgrades the bundled pip between minor releases, so even if we can’t get 21.2 into 3.10.0 we can still have it in 3.10.1. |
During beta you can still freely upgrade |
I just uploaded 21.1.2 to PyPI
|
I realize I forgot to do 21.1.3. There are currently two issues in that milestone. Let me know if there are other things to include. |
Fun fact: 21.1.3 will be the 100th tag on this repository! |
I just uploaded 21.1.3 to PyPI
|
@pradyunsg all automations worked perfectly and the release process documentation is perfect as well, thank you ! |
Hiya @pypa/pip-committers!
Do we want to do a pip 21.1 this month? If yes, who wants to be the RM? :)
The text was updated successfully, but these errors were encountered: