From 4f5e1333b2e626e731e5fdb85be0a41f20227890 Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" Date: Sun, 13 Jul 2025 20:21:03 -0700 Subject: [PATCH 1/3] test moving /usr/local --- .github/workflows/build-native-action.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-native-action.yml b/.github/workflows/build-native-action.yml index 9966d7d8..be111e7b 100644 --- a/.github/workflows/build-native-action.yml +++ b/.github/workflows/build-native-action.yml @@ -104,10 +104,15 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.10 + - name: Patch include + run: | + sudo mkdir /tmp/local + sudo mv -f /usr/local/* /tmp/local/ + + - name: Set up Python 3.11 uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.11' - name: Show environment run: | @@ -162,10 +167,15 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.10 + - name: Patch include + run: | + sudo mkdir /tmp/local + sudo mv -f /usr/local/* /tmp/local/ + + - name: Set up Python 3.11 uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.11' - name: Show environment run: | From befa08fb0291ed50513e8871b44ea14599209644 Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" Date: Sun, 13 Jul 2025 22:22:44 -0700 Subject: [PATCH 2/3] Add regression test --- .github/workflows/build-native-action.yml | 6 +++++- tests/test_verify_build.py | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-native-action.yml b/.github/workflows/build-native-action.yml index be111e7b..9bf10577 100644 --- a/.github/workflows/build-native-action.yml +++ b/.github/workflows/build-native-action.yml @@ -104,7 +104,7 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Patch include + - name: Patch /usr/local run: | sudo mkdir /tmp/local sudo mv -f /usr/local/* /tmp/local/ @@ -126,6 +126,10 @@ jobs: run: | python3 -m relenv build --no-pretty --python=${{ matrix.version }} + - name: Unpatch /usr/local + run: | + sudo mv -f /tmp/local/* /usr/local/ + - name: Verify Build run: | python3 -m nox -e tests -- tests/test_verify_build.py diff --git a/tests/test_verify_build.py b/tests/test_verify_build.py index 47bbed12..564ea94d 100644 --- a/tests/test_verify_build.py +++ b/tests/test_verify_build.py @@ -1676,3 +1676,9 @@ def test_no_openssl_binary(rockycontainer, pipexec): errors = proc.stderr.decode() assert "legacy provider failed to load" not in errors + + +@pytest.mark.skip_unless_on_darwin +def test_darwin_python_linking(pipexec, pyexec, build, minor_version): + proc = subprocess.run(["otool", "-L", str(pyexec)], capture_output=True, check=True) + assert "/usr/local/opt" not in proc.stdout.decode() From 6f61638208f79ed838048867c8d2b2f93c8fad5d Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" Date: Mon, 14 Jul 2025 15:18:29 -0700 Subject: [PATCH 3/3] Do not test pyzmq 26.2.0 on darwin --- tests/test_verify_build.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tests/test_verify_build.py b/tests/test_verify_build.py index 564ea94d..da014f8f 100644 --- a/tests/test_verify_build.py +++ b/tests/test_verify_build.py @@ -6,7 +6,6 @@ import json import os import pathlib -import platform import shutil import subprocess import sys @@ -440,11 +439,7 @@ def test_pip_install_pyzmq(pipexec, pyzmq_version, build_version, arch, build): ], env=env, ) - if ( - pyzmq_version == "26.2.0" - and sys.platform == "darwin" - and platform.processor() == "arm" - ): + if pyzmq_version == "26.2.0" and sys.platform == "darwin": pytest.xfail(f"{pyzmq_version} does not install on m1 mac") if pyzmq_version == "26.2.0" and sys.platform == "darwin": env[