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

upgrade plux to 1.7 #10266

Merged
merged 3 commits into from Feb 19, 2024
Merged

upgrade plux to 1.7 #10266

merged 3 commits into from Feb 19, 2024

Conversation

thrau
Copy link
Member

@thrau thrau commented Feb 18, 2024

Motivation

This PR upgrade plux to 1.7 which provides python 3.12 support (see #10235). The PR also migrates plugin imports to the new way to do things (from plux import ...). Since 1.7 is backwards compatible, we can make these changes for ext separately.
Moreover, plux now has a way of regenerating entrypoints without invoking setup.py (which is deprecated), therefore unblocking us from moving away from a setup.py to python -m build.

We could also look into removing localstack.cli.plugins, and move some of the functionality to plux (if needed).

Changes

  • localstack now uses plux>=1.7
  • make entrypoints now uses the plux frontend python -m plux entrypoints instead of setup.py plugins egg_info
  • localstack now favors from plux for imports instead of from plugin

Copy link

github-actions bot commented Feb 18, 2024

S3 Image Test Results (AMD64 / ARM64)

  2 files    2 suites   3m 11s ⏱️
386 tests 336 ✅  50 💤 0 ❌
772 runs  672 ✅ 100 💤 0 ❌

Results for commit 666b76e.

♻️ This comment has been updated with latest results.

@coveralls
Copy link

coveralls commented Feb 18, 2024

Coverage Status

coverage: 83.856% (-0.004%) from 83.86%
when pulling e3cfa3a on upgrade-plux
into db3c42f on master.

Copy link

github-actions bot commented Feb 18, 2024

LocalStack Community integration with Pro

    2 files  ±0      2 suites  ±0   1h 21m 38s ⏱️ - 1m 1s
2 642 tests ±0  2 395 ✅ ±0  247 💤 ±0  0 ❌ ±0 
2 644 runs  ±0  2 395 ✅ ±0  249 💤 ±0  0 ❌ ±0 

Results for commit 666b76e. ± Comparison against base commit db3c42f.

♻️ This comment has been updated with latest results.

@thrau thrau added the semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases label Feb 18, 2024
@thrau thrau marked this pull request as ready for review February 18, 2024 22:24
Copy link
Member

@alexrashed alexrashed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes are looking good! The release implements a nice deprecation path, and can seamlessly be upgraded. 🔝
I only found a small nitpick, and I think it would be a good opportunity to discuss upper version limits in the setup.cfg.

localstack/utils/bootstrap.py Outdated Show resolved Hide resolved
setup.cfg Outdated
@@ -31,7 +31,7 @@ install_requires =
dill==0.3.6
dnslib>=0.9.10
dnspython>=1.16.0
plux>=1.3.1
plux>=1.7,<2.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a good opportunity to discuss upper version limits.
We explicitly removed pins like this in #10195.
We did this because there's no need for the pins for as long as the currently released version is compatible.
New releases will either be picked up proactively by us (in PRs like this, explicitly upgrading a single dependency), or they are picked up by the weekly upgrades where the breaking changes are identified and (a) fixed in the PR by adding a small fix, or (b) pinned and explicitly upgraded in a follow up PR (where the min version is updated and the upper version limit removed).
In this case, the library is maintained by us, meaning that we already explicitly know that 2.0 will contain breaking changes. However, if the person who creates the release does not proactively update it here, we most likely won't find out (because the automated updates won't dare to touch it 😛)...
This is why I am leaning towards not having these pins, but again, this is a great opportunity to discuss them. 😄

Copy link
Member

@alexrashed alexrashed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the initial "comment" instead of the approval, that was a mistake.
I am happy with merging this as it is, but I would be happy to discuss the comment concerning the upper version limit. 😄

@alexrashed
Copy link
Member

FYI: Due to the nice deprecation path / backwards compatibility of the changes in plux==1.7.0, the requirements lock files have already been updated with #10270. This PR will basically just contain the code changes and the change in the setup.cfg.

thrau and others added 2 commits February 19, 2024 11:35
Co-authored-by: Alexander Rashed <2796604+alexrashed@users.noreply.github.com>
@thrau thrau merged commit b558f3a into master Feb 19, 2024
8 of 9 checks passed
@thrau thrau deleted the upgrade-plux branch February 19, 2024 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants