-
Notifications
You must be signed in to change notification settings - Fork 2.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
build.script: use build environment for execution #5401
build.script: use build environment for execution #5401
Conversation
e964518
to
58ae681
Compare
58ae681
to
003f55d
Compare
This doesn't solve the problem of IMHO they should be locked there too, or we can't really have reproducible builds. |
@yajo unfortunately this PR is not intended to solve that. Additionally, there is also the added issue that the build time dependency is managed by the PEP 517 frontends. The short version is, even if the lockfile contained your build system depdnencies your builds will not be reproducible across all cases. The only case it covers if you used |
003f55d
to
bc49f54
Compare
bc49f54
to
ca73fa5
Compare
ca73fa5
to
466b15e
Compare
With this change, Poetry now creates an ephemeral build environment with all requirements specified under `build-system.requires` when a build script is specified. Otherwise, project environment is reused.
466b15e
to
9ba9845
Compare
note for future searchers: poetry 1.2.0 broke our previously successful builds (where we use a custom [build-system]
requires = ["poetry-core", "setuptools"] |
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
With this change, Poetry now creates an ephemeral build environment
with all requirements specified under
build-system.requires
when abuild script is specified. Otherwise, project environment is reused.
Resolves: #2789
Supercedes: python-poetry/poetry-core#58
Decided to solve this at the poetry level as we do not yet have consensus on if the build-system requirements should be considered as a project's development dependendency.
Alternative approaches
build-system.requires
is loaded into a new implicit dependency group calldedbuild-system
, this will mean that these will affect dependency resolution. However, this will also allow for the easier development of build scripts.Future Enhancements
pip
.