Skip to content
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

Request: New Release #159

Closed
notatallshaw opened this issue Aug 1, 2024 · 16 comments · Fixed by #169
Closed

Request: New Release #159

notatallshaw opened this issue Aug 1, 2024 · 16 comments · Fixed by #169

Comments

@notatallshaw
Copy link
Contributor

notatallshaw commented Aug 1, 2024

Hi all, given the recent fixes to backjumping I am requesting a new release. I would like to vendor resolvelib early into pip comfortably before 24.3 so it can be sufficently tested.

I also notice it's been over a year since release, so there are quite a few PRs that have been merged:

e4de27e - Merge pull request #158 from notatallshaw/add-unvisited-tests
58c5d90 - Merge pull request #155 from notatallshaw/skip-backjumping-when-name-is-not-incompatible
314dde4 - Merge pull request #157 from notatallshaw/replace-setuptools-cfg-with-pyproject.toml
b01ff4e - Merge pull request #156 from notatallshaw/fix-up-py2index-script
ffa7199 - Merge pull request #152 from notatallshaw/fix-backjumping
adf0800 - Merge pull request #153 from notatallshaw/run-python-3.12-and-3.13-and-bump-all-versions-in-ci.yml
87c9d7b - Merge pull request #141 from hroncok/nocmmments
a062162 - Merge pull request #150 from notatallshaw/pin-black-version
995ed67 - Merge pull request #143 from notatallshaw/deduplicate-causes
044ab9f - Merge pull request #135 from sarugaku/modern-typing
6df10d7 - Merge pull request #136 from jimkring/patch-1
69d9fee - Merge pull request #138 from brettcannon/clarify-docstrings
77b256c - Merge pull request #133 from hauntsaninja/hauntsaninja-patch-1
ea4011b - Merge pull request #129 from OlenaYefymenko/122-supported-python-versions

@frostming
Copy link
Member

@notatallshaw Thank you very much. Also, if you have time, could you add the missing news fragments? They should be located under the news/ folder

@notatallshaw
Copy link
Contributor Author

@notatallshaw Thank you very much. Also, if you have time, could you add the missing news fragments? They should be located under the news/ folder

I never understood how news fragments worked, I'll do a bit of reading this evening and hopefully be able to add them.

@frostming
Copy link
Member

It seems all issues are addressed. But I don't have the permission to upload releases, nor is the token configured in the GitHub secrets. I'll leave it to @pradyunsg and @uranusjr to make a new release.

@notatallshaw
Copy link
Contributor Author

notatallshaw commented Aug 9, 2024

Thanks for your assistance!

Maybe we should expand the number of maintainers with access to upload? And also I would be happy to help maintain the project, if that would help avoid the project accidentally running out of people with access to release.

@pradyunsg
Copy link
Contributor

I'll set up something like pypa/installer#220 on there and come back here.

@frostming
Copy link
Member

frostming commented Aug 14, 2024

I'll set up something like pypa/installer#220 on there and come back here.

Thank you very much, I've setup an automated release workflow in #168 , and here is the info:

Repository: sarugaku/resolvelib
Workflow: release.yml
Environment name: release

@notatallshaw
Copy link
Contributor Author

notatallshaw commented Aug 28, 2024

Pinging on this so it's not forgotten, I'd like to vendor resolvelib for pip 24.3 with enough time to identify any unexpected issues.

@pradyunsg
Copy link
Contributor

pradyunsg commented Sep 15, 2024

Screenshot 2024-09-15 at 18 33 19

My 2 cents: Let's cut a release with a pre-release tag, wait for at least a week or so before going live with a proper release. If we think all the changes are safe, please feel welcome to hop direectly onto a stable release. :)

@frostming
Copy link
Member

@pradyunsg sorry but the repository name is sarugaku/resolvelib, unless we are going to move this into pypa org?

@notatallshaw
Copy link
Contributor Author

Is there an ETA on this?

I'm trying to assess if this can make pip 24.3 or I should reschedule the milestones for the issues on pip side to 25.0.

@uranusjr
Copy link
Member

I think I’m going to just add @notatallshaw as a maintainer on this project (because as mentioned we are technically a separate entity 😉) unless anyone objects. @sarugaku/packaging-team

@notatallshaw
Copy link
Contributor Author

notatallshaw commented Oct 10, 2024

FYI, it is now too close to pip 24.3 releasing to vendor resolvelib 1.1.0 into pip.

I have been testing an example problematic resolution in pip that currently fails to resolve (due to backtracking too far on an unimportant requirement), vendoring the resolvelib 1.1.0 release manually it turns the failed resolution into ResolutionTooDeep unless I apply additional optimizations such as pypa/pip#12993 or pypa/pip#12499.

I therefore think even if resolvelib 1.1.0 is released in the next week pip should wait until after the next release before vendoring it, so there is time to vendor this release and then add additional optimizations on the pip side. I am going to move the issues I marked with milestone 24.3 to 25.0.

@pradyunsg
Copy link
Contributor

Screenshot 2024-10-10 at 23 27 36

Fixed and added @frostming to the project. @notatallshaw I couldn't find your username on pypi.org.

@notatallshaw
Copy link
Contributor Author

Oh, fun fact, I've never had a need for a pypi.org account before: https://pypi.org/user/notatallshaw/

@notatallshaw
Copy link
Contributor Author

FYI, I've created some simple scripts to validate changes when they are vendored into pip don't cause regressions: https://github.com/notatallshaw/Pip-Resolution-Scenarios-and-Benchmarks

I've used it to verify a PR that changes pip's preference: pypa/pip#13017

But when I get time this week I will also use it to check against the resolvelib vendor PR: pypa/pip#13001

@notatallshaw
Copy link
Contributor Author

Okay, I've vendored and tested resolvelib, it's a slightly mixed bag in terms of performance, some existing ResolutionTooDeep errors now run fine. Whereas some existing resolutions that are slow are pushed over into ResolutionTooDeep. See details in pypa/pip#13001 (comment).

All that said, nothing seems wrong on resolvelib side, correctness is fixed and I don't see any showstopping bugs, I see no reason not to cut a final release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants