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
ci: Fix "macOS native" job #29610
ci: Fix "macOS native" job #29610
Conversation
Promoting Homebrew's python@3.12 to the default python3 breaks symbolic links on macOS x86_64. This change adds a workaround for that issue. Also see: actions/runner-images#9471 etc.
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code CoverageFor detailed information about the code coverage, see the test coverage report. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. |
ACK eca024f Don't have a x86 Mac to hand right now so ran mac cross CI job to test. This works but two alternative approaches to the pip install problem could have been to either use a python virtual environment (venv) or to pass |
I thought about this, too. However, I presume it would require activating the env twice. Once, when creating the container image (pip), and another time, when running the tests in the container.
If this causes a smaller diff, I'd say this is preferred. |
It does seem not ideal to have to forcefully install one verison of Python, only to then not be able to use it for anything Python related, and then also refactor the CI to use a different (unclear which?) version of Python. |
Homebrew's python@3.12 is marked as externally managed (PEP 668), necessitating different approaches for installing Python packages. For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404.
eca024f
to
acc06bc
Compare
Thank you for your reviews!
Implemented.
Reworked, so Homebrew's python is still using. |
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
export PIP_PACKAGES="zmq" | ||
# Homebrew's python@3.12 is marked as externally managed (PEP 668). | ||
# Therefore, `--break-system-packages` is needed. | ||
export PIP_PACKAGES="--break-system-packages zmq" |
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.
nit: Seems fine to enable it globally in the CI, but this can be done in a follow-up.
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.
Agreed. It's probably going to start coming up in other jobs as python and base containers get upgraded.
reACK acc06bc to get the CI passing again. Contrary to my previous comment, when making a more global change to CI perhaps the more permanent and proper thing would be to use a venv. |
Yea, it's pretty clear this is the direction we should be going, given we are going to start running into this with Python on other distros. |
Add workaround for Homebrew's python link error. Similar to bitcoin#29610.
Add workaround for Homebrew's python link error. Similar to bitcoin#29610.
2de625d fixup! ci: Test CMake edge cases (Hennadii Stepanov) Pull request description: Add workaround for Homebrew's python link error. Similar to bitcoin#29610. ACKs for top commit: m3dwards: utACK 2de625d pablomartin4btc: cr ACK 2de625d Tree-SHA512: 5f063138cbd0bdc7ba983c45662d6c30a7783c03b4ef21a1d4ddabc994334bb7eb5558666128308471b68524d93c0b7e03b1140e718ab38d6759ec934dff167b
Promoting Homebrew's python@3.12 to the default python3 breaks symbolic links on macOS x86_64. This change adds a workaround for that issue. Also see: actions/runner-images#9471 etc. Github-Pull: bitcoin#29610 Rebased-From: ae5f720
Homebrew's python@3.12 is marked as externally managed (PEP 668), necessitating different approaches for installing Python packages. For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404. Github-Pull: bitcoin#29610 Rebased-From: acc06bc
Promoting Homebrew's python@3.12 to the default python3 breaks symbolic links on macOS x86_64. This change adds a workaround for that issue. Also see: actions/runner-images#9471 etc. Github-Pull: bitcoin#29610 Rebased-From: ae5f720
Homebrew's python@3.12 is marked as externally managed (PEP 668), necessitating different approaches for installing Python packages. For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404. Github-Pull: bitcoin#29610 Rebased-From: acc06bc
Promoting Homebrew's python@3.12 to the default python3 breaks symbolic links on macOS x86_64. This change adds a workaround for that issue. Also see: actions/runner-images#9471 etc. Github-Pull: bitcoin#29610 Rebased-From: ae5f720
Homebrew's python@3.12 is marked as externally managed (PEP 668), necessitating different approaches for installing Python packages. For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404. Github-Pull: bitcoin#29610 Rebased-From: acc06bc
Promoting Homebrew's python@3.12 to the default python3 breaks symbolic links on macOS x86_64. This change adds a workaround for that issue. Also see: actions/runner-images#9471 etc. Github-Pull: bitcoin#29610 Rebased-From: acc06bc
Homebrew's python@3.12 is marked as externally managed (PEP 668), necessitating different approaches for installing Python packages. For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404. Github-Pull: bitcoin#29610 Rebased-From: acc06bc
Promoting Homebrew's python@3.12 to the default python3 breaks symbolic links on macOS x86_64. This change adds a workaround for that issue. Also see: actions/runner-images#9471 etc. Github-Pull: bitcoin#29610 Rebased-From: ae5f720
Homebrew's python@3.12 is marked as externally managed (PEP 668), necessitating different approaches for installing Python packages. For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404. Github-Pull: bitcoin#29610 Rebased-From: acc06bc
cc0553d [doc] add manual pages for 26.1 (glozow) 785242d [doc] update release notes 26.1 (glozow) 5f06dcf [build] bump version to 26.1 final (glozow) b53bf22 ci, macos: Use `--break-system-packages` with Homebrew's python (Hennadii Stepanov) 324e562 ci: Add workaround for Homebrew's python link error (Hennadii Stepanov) Pull request description: Final changes for `v26.1`. Bins for rc2 have been available for 10 days and I haven't seen any bug reports or new things to add. Includes #29610 backport for the CI, which has no effect on what goes into the release. Website PR: bitcoin-core/bitcoincore.org#1009 ACKs for top commit: hebasto: ACK cc0553d. fanquake: ACK cc0553d stickies-v: ACK cc0553d (modulo CI passing) Tree-SHA512: d032157c7cdf07a474e40b947f7e51bfc6a8e280e43345522bad67b6ad449d473f29bf03ee845b2e403693c1c81078589d042337c895eceb8a59cb4340432887
a7116c8 ci: Bump msan to llvm-18 (MarcoFalke) 05f69b3 ci, macos: Use `--break-system-packages` with Homebrew's python (Hennadii Stepanov) 603f036 ci: Add workaround for Homebrew's python link error (Hennadii Stepanov) 5d381cf serfloat: improve/simplify tests (Pieter Wuille) f4be4d7 serfloat: do not test encode(bits)=bits anymore (Pieter Wuille) Pull request description: Currently: * #29192 * #29610 * #29676 ACKs for top commit: stickies-v: ACK a7116c8 - all clean test backports Tree-SHA512: f3508a2c20d336c8647ba16886859d6a070584c4739fc8b5cfce2041a0662794775fb0ce89c9bf848a29e70089bae05ad1c921bbe45afe3fd5cac2a5c6b76baf
Homebrew promoted
python@3.12
to the defaultpython3
. Now, our "macOS native" CI job is facing the following issues:qt@5
requires re-installingpython@3.12
:python@3.12
fails due to symbolic link conflicts on macOSx86_64
:python@3.12
is marked as externally managed (according to PEP 668), necessitating different approaches for installing Python packages.This pull request resolves all the issues mentioned above.