-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
switch to commit-time plux entrypoint detection #13643
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
Conversation
Test Results - Preflight, Unit23 084 tests 21 225 ✅ 6m 24s ⏱️ Results for commit 0fa16df. ♻️ This comment has been updated with latest results. |
Test Results (MA/MR) - Preflight, Unit23 084 tests 21 225 ✅ 6m 14s ⏱️ Results for commit 0fa16df. ♻️ This comment has been updated with latest results. |
a6ec08b to
205b04a
Compare
205b04a to
0a58f57
Compare
Test Results (amd64, MA/MR) - Acceptance7 tests 5 ✅ 3m 1s ⏱️ Results for commit 0fa16df. ♻️ This comment has been updated with latest results. |
Test Results (amd64) - Acceptance7 tests 5 ✅ 3m 0s ⏱️ Results for commit 0fa16df. ♻️ This comment has been updated with latest results. |
Test Results (MA/MR) - Alternative Providers586 tests 326 ✅ 17m 50s ⏱️ Results for commit 0fa16df. ♻️ This comment has been updated with latest results. |
Test Results - Alternative Providers586 tests 326 ✅ 18m 11s ⏱️ Results for commit 0fa16df. ♻️ This comment has been updated with latest results. |
Test Results (amd64, MA/MR) - Integration, Bootstrap 5 files 5 suites 2h 37m 42s ⏱️ Results for commit 0fa16df. ♻️ This comment has been updated with latest results. |
Test Results (amd64) - Integration, Bootstrap 5 files 5 suites 2h 36m 39s ⏱️ Results for commit 0fa16df. ♻️ This comment has been updated with latest results. |
LocalStack Community integration with Pro 2 files 2 suites 1h 57m 47s ⏱️ Results for commit 0fa16df. ♻️ This comment has been updated with latest results. |
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 @alexrashed for driving this!
i just want to share here that i appreciate we're moving forward with this, but also emphasize that i see this as a provisional solution to unblock us. a long term solution is something like we sketched out in localstack/plux#36. see also the "Future Work" session in localstack/plux#31
|
Yeah, sounds good to me! When we have a more integrated / convenient (but PEP-517-compliant) |
dfangl
left a comment
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.
Looks good!
54802c8 to
48849ce
Compare
48849ce to
0fa16df
Compare
TL/DR
With this PR changes how we are performing the
pluxentrypoint detection inlocalstack-core. The entrypoints are - from now on - part of the commits and tracked in SCM. They are detected at commit time rather than on build-time.A linting step in CI is introduced to make sure that the
plux.iniis always up-to-date.Motivation
In order to facilitate a scalable multi-namespace package setup, we need to make sure that all our build steps are properly integrated into the build process. Ultimately, we need to be able to just create a package with
python -m build.Up until now, we used the default mode of
pluxwhich scans the package for entrypoints at build time. This means that - at build time - we have to have all (dev) dependencies available.This is causing quite some issues when trying to closely integrate the build process with the native Python build process, because PEP 517 explicitly states that build frontends should create isolated build environments only with the build dependencies.
Changes
This PR changes how we use plux, specifically when we perform the entrypoint detection / scan the modules for
pluxplugins. Instead of performing the scan at build time, this PR switches theentrypoint_build_modetomanual(as introduced in localstack/plux#31) which has the following implications:plux.iniwhich is version controlled ingitand needs to be kept up to date with the code with every commit.plux.iniis up-to-date with the code.Future improvements
As a follow up, we could try to implement a simple reconciliation feature for plux to enable a fast pre-commit hook.
TODO
pluxwhich contains add entrypoint build modes feature plux#31.plux==1.14.0has just been released and is already being used in this PR! 🥳