From 394d4b35658e1d16f40c727e086ee112037348d0 Mon Sep 17 00:00:00 2001 From: Lukas Geiger Date: Thu, 15 Oct 2026 15:05:24 +0200 Subject: [PATCH 1/2] ci: add manual native Mac ARM64 validation Use the organization Mac Studio runner with an isolated per-run venv; preserve the existing hosted matrix. Generated-with: gpt-6.1-sol --- .github/workflows/tests.yml | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1881449..4723554 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -48,3 +48,42 @@ jobs: - name: Run test suite run: pytest -ra -v + + mac-native: + name: Native Mac ARM64 (py3.12, manual) + if: github.event_name == 'workflow_dispatch' && github.repository == 'dev-bricks/ApiProber' + runs-on: [self-hosted, macOS, ARM64, mac-studio] + timeout-minutes: 15 + env: + PYTHONNOUSERSITE: "1" + PYTHONIOENCODING: utf-8 + steps: + - name: Check out repository + uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + architecture: arm64 + + - name: Create isolated test environment + shell: bash + run: | + test_env="$RUNNER_TEMP/apiprober-${{ github.run_id }}-${{ github.run_attempt }}" + python -m venv "$test_env" + echo "$test_env/bin" >> "$GITHUB_PATH" + echo "VIRTUAL_ENV=$test_env" >> "$GITHUB_ENV" + "$test_env/bin/python" -m pip install --upgrade pip + "$test_env/bin/python" -m pip install -e ".[test]" + + - name: Compile, verify CLI entry points and run tests + shell: bash + run: | + python -c "import platform; print(platform.platform(), platform.machine())" + python -m compileall -q . + python -m ApiProber --help + apiprober --help + python -m pytest -ra -v From d59d869d9401827e82f01c8db5f9cc19269a24a6 Mon Sep 17 00:00:00 2001 From: Lukas Geiger Date: Thu, 15 Oct 2026 15:08:39 +0200 Subject: [PATCH 2/2] ci: route public Mac validation to hosted ARM64 runner The organization runner group excludes public repositories; preserve its policy and use the standard macOS 15 ARM64 image with an architecture assertion. Generated-with: gpt-6.1-sol --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4723554..194450a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -52,7 +52,7 @@ jobs: mac-native: name: Native Mac ARM64 (py3.12, manual) if: github.event_name == 'workflow_dispatch' && github.repository == 'dev-bricks/ApiProber' - runs-on: [self-hosted, macOS, ARM64, mac-studio] + runs-on: macos-15 timeout-minutes: 15 env: PYTHONNOUSERSITE: "1" @@ -82,7 +82,7 @@ jobs: - name: Compile, verify CLI entry points and run tests shell: bash run: | - python -c "import platform; print(platform.platform(), platform.machine())" + python -c "import platform; print(platform.platform(), platform.machine()); assert platform.system() == 'Darwin' and platform.machine() == 'arm64'" python -m compileall -q . python -m ApiProber --help apiprober --help