| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
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). |
Sorry, something went wrong.
|
Apparently Tools/build/check_extension_modules.py is too fragile. We should harden it and ensure that it dumps enough debug info on failure, so we won't end up with a week of red CI crosses again. |
Sorry, something went wrong.
|
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. |
Sorry, something went wrong.
|
@erlend-aasland What's difference between #101991? |
Sorry, something went wrong.
There was a problem hiding this comment.
lgtm
Sorry, something went wrong.
Oh, sorry, I missed you had a similar PR! |
Sorry, something went wrong.
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. |
Sorry, something went wrong.
|
Status check is done, and it's a success ✅. |
Sorry, something went wrong.
|
Thanks @erlend-aasland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11. |
Sorry, something went wrong.
|
Thanks for the review, Dong-hee! |
Sorry, something went wrong.
It looks like the GHA performance issue is resolved. |
Sorry, something went wrong.
see: #101991 (comment) |
Sorry, something went wrong.
|
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: ==> Running `brew cleanup pkg-config`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. 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 HOMEBREW_NO_AUTO_UPDATE, that may save time too. Here's a run of main with this PR, brew install takes 25s: With HOMEBREW_NO_AUTO_UPDATE it drops to 15s: And with HOMEBREW_NO_INSTALL_CLEANUP it's 16s, basically the same: 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@v3Edit: Well, these are all within the expected range anyway:
But these env vars shouldn't add time :) |
Sorry, something went wrong.
|
And they're documented at https://docs.brew.sh/Manpage#environment |
Sorry, something went wrong.
…-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 configure does and, thus, this PR is not doing what its title asserts :) configure goes to great lengths to ensure that the necessary environment specified at the time configure is run is preserved in the generated Makefile such that whenever make is run the necessary environment variable values are created in the make environment. That means that, once you have run configure, you can go back later, in a different terminal session, say, and run make without having to define the essential environment variables (like CFLAGS and LDFLAGS) as they were set at configure time. However, the Makefile does allow for augmenting those environment variables if they are defined in the environment when running make. So, if those environment variables have been defined externally when running make, you may get different results of a build. That's fine if that's what you want to do. But, by default, you should not have to define those variables for a normal build after running configure. That's the way things have worked for a very long time. Note that the devguide recipe for 3.10+ deliberately does not export any environment variables in the shell environment when running configue and make; by placing the environment variables definitions on the configure command line, they are local to the configure process and its children (and preserved by it in the Makefile). With the github workflow as merged here, the CFLAGS and LDFLAGS values are effectively unnecessarily being exported into each subsequent build step by using GITHUB_ENV. This isn't just a stylistic change; it bypasses a small but important test of the build process that those variables are being properly preserved and recreated by make steps so that we are confident that the Makefile stands alone and is not dependent on externally defining any configuration-related variables. |
Sorry, something went wrong.
|
@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 configure is run! |
Sorry, something went wrong.
|
Thanks @erlend-aasland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.9. |
Sorry, something went wrong.
|
Thanks @erlend-aasland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.8. |
Sorry, something went wrong.
|
Sorry, @erlend-aasland, I could not cleanly backport this to 3.9 due to a conflict. |
Sorry, something went wrong.
|
Sorry @erlend-aasland, I had trouble checking out the 3.8 backport branch. |
Sorry, something went wrong.
|
I'll create backports for 3.9 and 3.8 with the fixup in #102131 applied. |
Sorry, something went wrong.
* 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. |
Sorry, something went wrong.
…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. |
Sorry, something went wrong.
…-102070) Automerge-Triggered-By: GH:erlend-aasland
…-102070) Automerge-Triggered-By: GH:erlend-aasland
| Back | FazBrowse Home | New Git URL |
Automerge-Triggered-By: GH:erlend-aasland