-
-
Notifications
You must be signed in to change notification settings - Fork 30.4k
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
Use isolated build environments #65145
Conversation
script/release
Outdated
@@ -27,6 +27,9 @@ then | |||
exit 1 | |||
fi | |||
|
|||
echo "Install build and twine" |
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.
We actually don't use this script for releasing...
core/.github/workflows/builder.yml
Lines 76 to 80 in 956ceb6
- name: Build package | |
shell: bash | |
run: | | |
pip install twine wheel | |
python setup.py sdist bdist_wheel |
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! Updated that too. I'm not entirely sure which workflow Github will choose once this is merged, the old or new one (for the 2022.1
release).
To be safe, it might make sense to cherry-pick the prerequisite PRs:
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.
As far as I am aware (thus not 100% certain), it will use the default branch, which is dev
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.
Let's remove script/release
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.
As far as I am aware (thus not 100% certain), it will use the default branch, which is
dev
That's what I remember as well. In that case, the three merged PRs above and this one should be cherry-picked if accepted.
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.
Let's remove
script/release
👍🏻 Done
@balloob This means we need to tag this and the other listed above for the milestone. |
Proposed change
PEP 517 added the option to specify build backends via
pyproject.toml
. Thebuild
package is then used to create isolated build environments. This helps ensure that the all builds are reproducible. E.g. in the past it was possible that the build was tested with one version ofsetuptools
while the final release was done with another (older) one which didn't work as expected.https://setuptools.pypa.io/en/latest/build_meta.html
The change will also allow us to eventually remove
setup.py
completely./CC @balloob
The deprecation warning is a result of pip
21.2
and can be ignore. It will disappear with21.3.x
.Type of change
Additional information
Checklist
black --fast homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.The integration reached or maintains the following Integration Quality Scale:
To help with the load of incoming pull requests: