-
-
Notifications
You must be signed in to change notification settings - Fork 30.8k
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
gh-101981: Build macOS as recommended by the devguide #102070
gh-101981: Build macOS as recommended by the devguide #102070
Conversation
e02118a
to
5aa9d55
Compare
5aa9d55
to
3eaab15
Compare
Installing the Homebrew dependencies takes between 10 to 20 seconds of CI time. We can consider caching those deps (cc. @hugovk, as our CI/GitHub/DevOps oracle). |
Apparently |
I intend to merge this as soon as the CI turns green. If there are objections, we can always revert or create a follow-up PR. |
@erlend-aasland What's difference between #101991? |
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.
lgtm
Oh, sorry, I missed you had a similar PR! |
AFAICS, my PR is slightly cleaner in that it still uses multiple build steps (first set environment variables, then run configure, etc.); it makes debugging the CI easier. Also, I did not touch any of the tests. |
Status check is done, and it's a success ✅. |
Thanks @erlend-aasland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11. |
Thanks for the review, Dong-hee! |
It looks like the GHA performance issue is resolved. |
see: #101991 (comment) |
Re: caching Homebrew: https://stackoverflow.com/a/65056232/724176 shows how to do it, but warns:
https://stackoverflow.com/a/63681598/724176 has 3 options, which aren't great: 1 is caching everything; 2 means identifying and copying binaries; 3 is Docker. Looking at the log:
We can set that if it makes things quicker, we don't need to do any cleanup, the whole CI run is disposed of after the run. And the first SO answer above sets Here's a run of With And with So let's add them. needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
env:
+ HOMEBREW_NO_AUTO_UPDATE: 1
+ HOMEBREW_NO_INSTALL_CLEANUP: 1
PYTHONSTRICTEXTENSIONBUILD: 1
steps:
- uses: actions/checkout@v3 Edit: Well, these are all within the expected range anyway:
But these env vars shouldn't add time :) |
And they're documented at https://docs.brew.sh/Manpage#environment |
…-102070) Automerge-Triggered-By: GH:erlend-aasland
* main: (60 commits) pythongh-102056: Fix a few bugs in error handling of exception printing code (python#102078) pythongh-102011: use sys.exception() instead of sys.exc_info() in docs where possible (python#102012) pythongh-101566: Sync with zipp 3.14. (pythonGH-102018) pythonGH-99818: improve the documentation for zipfile.Path and Traversable (pythonGH-101589) pythongh-88233: zipfile: handle extras after a zip64 extra (pythonGH-96161) pythongh-101981: Apply HOMEBREW related environment variables (pythongh-102074) pythongh-101907: Stop using `_Py_OPCODE` and `_Py_OPARG` macros (pythonGH-101912) pythongh-101819: Adapt _io types to heap types, batch 1 (pythonGH-101949) pythongh-101981: Build macOS as recommended by the devguide (pythonGH-102070) pythongh-97786: Fix compiler warnings in pytime.c (python#101826) pythongh-101578: Amend PyErr_{Set,Get}RaisedException docs (python#101962) Misc improvements to the float tutorial (pythonGH-102052) pythongh-85417: Clarify behaviour on branch cuts in cmath module (python#102046) pythongh-100425: Update tutorial docs related to sum() accuracy (FH-101854) Add missing 'is' to `cmath.log()` docstring (python#102049) pythongh-100210: Correct the comment link for unescaping HTML (python#100212) pythongh-97930: Also include subdirectory in makefile. (python#102030) pythongh-99735: Use required=True in argparse subparsers example (python#100927) Fix incorrectly documented attribute in csv docs (python#101250) pythonGH-84783: Make the slice object hashable (pythonGH-101264) ...
Sorry that I'm a bit late to this discussion but I have to point out that there appears to be a bit of a misunderstanding here of what
However, the Note that the devguide recipe for 3.10+ deliberately does not export any environment variables in the shell environment when running |
@ned-deily, this is true (I noticed my error post merge, see my comments on Discord). Dong-hee had a fixup PR ready at some point, but he reverted that specific change. I definitely agree that we should provide the environment variables only when |
Thanks @erlend-aasland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.9. |
Thanks @erlend-aasland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.8. |
Sorry, @erlend-aasland, I could not cleanly backport this to |
Sorry @erlend-aasland, I had trouble checking out the |
I'll create backports for 3.9 and 3.8 with the fixup in #102131 applied. |
* main: (225 commits) pythongh-102056: Fix a few bugs in error handling of exception printing code (python#102078) pythongh-102011: use sys.exception() instead of sys.exc_info() in docs where possible (python#102012) pythongh-101566: Sync with zipp 3.14. (pythonGH-102018) pythonGH-99818: improve the documentation for zipfile.Path and Traversable (pythonGH-101589) pythongh-88233: zipfile: handle extras after a zip64 extra (pythonGH-96161) pythongh-101981: Apply HOMEBREW related environment variables (pythongh-102074) pythongh-101907: Stop using `_Py_OPCODE` and `_Py_OPARG` macros (pythonGH-101912) pythongh-101819: Adapt _io types to heap types, batch 1 (pythonGH-101949) pythongh-101981: Build macOS as recommended by the devguide (pythonGH-102070) pythongh-97786: Fix compiler warnings in pytime.c (python#101826) pythongh-101578: Amend PyErr_{Set,Get}RaisedException docs (python#101962) Misc improvements to the float tutorial (pythonGH-102052) pythongh-85417: Clarify behaviour on branch cuts in cmath module (python#102046) pythongh-100425: Update tutorial docs related to sum() accuracy (FH-101854) Add missing 'is' to `cmath.log()` docstring (python#102049) pythongh-100210: Correct the comment link for unescaping HTML (python#100212) pythongh-97930: Also include subdirectory in makefile. (python#102030) pythongh-99735: Use required=True in argparse subparsers example (python#100927) Fix incorrectly documented attribute in csv docs (python#101250) pythonGH-84783: Make the slice object hashable (pythonGH-101264) ...
GH-102186 is a backport of this pull request to the 3.9 branch. |
…thonGH-102070) Automerge-Triggered-By: GH:erlend-aasland. (cherry picked from commit 2713631) Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
GH-102187 is a backport of this pull request to the 3.8 branch. |
…-102070) Automerge-Triggered-By: GH:erlend-aasland
…-102070) Automerge-Triggered-By: GH:erlend-aasland
Automerge-Triggered-By: GH:erlend-aasland