From 8594de55fb41e138af1e117aa6e6414654e8fa37 Mon Sep 17 00:00:00 2001 From: Steven Sklar Date: Thu, 11 Dec 2025 12:07:23 -0500 Subject: [PATCH 1/4] add mac arm ci automation --- .github/workflows/test-macos-arm.yaml | 93 +++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .github/workflows/test-macos-arm.yaml diff --git a/.github/workflows/test-macos-arm.yaml b/.github/workflows/test-macos-arm.yaml new file mode 100644 index 00000000..64a6f764 --- /dev/null +++ b/.github/workflows/test-macos-arm.yaml @@ -0,0 +1,93 @@ +name: Test macOS ARM + +on: + pull_request: + branches: [main] + push: + branches: [main] + +jobs: + test: + name: Test on macOS ARM + runs-on: macos-13-xlarge # ARM64 runner + timeout-minutes: 90 + strategy: + fail-fast: false + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13"] + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + submodules: true + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Rust + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Install Cython + run: | + python3 --version + python3 -m pip install --upgrade pip + python3 -m pip install cython + + - name: Install test dependencies + run: python3 ci/pip_install_deps.py + + - name: Build + run: python3 proj.py build + + - name: Run tests + run: python3 proj.py test 1 + env: + JAVA_HOME: ${{ env.JAVA_HOME_17_ARM64 }} + + test-numpy-compat: + name: Test numpy compatibility + runs-on: macos-13-xlarge # ARM64 runner + timeout-minutes: 90 + strategy: + fail-fast: false + matrix: + include: + - python-version: "3.10" + numpy-version: "1.21.0" + - python-version: "3.10" + numpy-version: "1.24.0" + - python-version: "3.10" + numpy-version: "1.26.0" + - python-version: "3.11" + numpy-version: "2.0.0" + - python-version: "3.11" + numpy-version: "2.2.0" + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + submodules: true + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Rust + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Install uv + run: python3 -m pip install uv + + - name: Run tests with numpy ${{ matrix.numpy-version }} + run: uv run --python python --with 'numpy==${{ matrix.numpy-version }}' test/test.py -v TestBufferProtocolVersionV2 From b9cc326748201f3bce8abf86305fd1eb38b8a277 Mon Sep 17 00:00:00 2001 From: Steven Sklar Date: Thu, 11 Dec 2025 12:10:39 -0500 Subject: [PATCH 2/4] macos 14 --- .github/workflows/test-macos-arm.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-macos-arm.yaml b/.github/workflows/test-macos-arm.yaml index 64a6f764..7b230f2f 100644 --- a/.github/workflows/test-macos-arm.yaml +++ b/.github/workflows/test-macos-arm.yaml @@ -9,7 +9,7 @@ on: jobs: test: name: Test on macOS ARM - runs-on: macos-13-xlarge # ARM64 runner + runs-on: macos-14 # ARM64 (M1) runner timeout-minutes: 90 strategy: fail-fast: false @@ -52,7 +52,7 @@ jobs: test-numpy-compat: name: Test numpy compatibility - runs-on: macos-13-xlarge # ARM64 runner + runs-on: macos-14 # ARM64 (M1) runner timeout-minutes: 90 strategy: fail-fast: false From 0df3d3fcbe41a76dd991d970126db2bcd13021e2 Mon Sep 17 00:00:00 2001 From: Steven Sklar Date: Mon, 15 Dec 2025 09:59:03 -0500 Subject: [PATCH 3/4] how about this? --- .github/workflows/test-macos-arm.yaml | 93 --------------------------- ci/run_tests_pipeline.yaml | 3 + 2 files changed, 3 insertions(+), 93 deletions(-) delete mode 100644 .github/workflows/test-macos-arm.yaml diff --git a/.github/workflows/test-macos-arm.yaml b/.github/workflows/test-macos-arm.yaml deleted file mode 100644 index 7b230f2f..00000000 --- a/.github/workflows/test-macos-arm.yaml +++ /dev/null @@ -1,93 +0,0 @@ -name: Test macOS ARM - -on: - pull_request: - branches: [main] - push: - branches: [main] - -jobs: - test: - name: Test on macOS ARM - runs-on: macos-14 # ARM64 (M1) runner - timeout-minutes: 90 - strategy: - fail-fast: false - matrix: - python-version: ["3.10", "3.11", "3.12", "3.13"] - - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 1 - submodules: true - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - - name: Install Rust - run: | - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - echo "$HOME/.cargo/bin" >> $GITHUB_PATH - - - name: Install Cython - run: | - python3 --version - python3 -m pip install --upgrade pip - python3 -m pip install cython - - - name: Install test dependencies - run: python3 ci/pip_install_deps.py - - - name: Build - run: python3 proj.py build - - - name: Run tests - run: python3 proj.py test 1 - env: - JAVA_HOME: ${{ env.JAVA_HOME_17_ARM64 }} - - test-numpy-compat: - name: Test numpy compatibility - runs-on: macos-14 # ARM64 (M1) runner - timeout-minutes: 90 - strategy: - fail-fast: false - matrix: - include: - - python-version: "3.10" - numpy-version: "1.21.0" - - python-version: "3.10" - numpy-version: "1.24.0" - - python-version: "3.10" - numpy-version: "1.26.0" - - python-version: "3.11" - numpy-version: "2.0.0" - - python-version: "3.11" - numpy-version: "2.2.0" - - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 1 - submodules: true - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - - name: Install Rust - run: | - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - echo "$HOME/.cargo/bin" >> $GITHUB_PATH - - - name: Install uv - run: python3 -m pip install uv - - - name: Run tests with numpy ${{ matrix.numpy-version }} - run: uv run --python python --with 'numpy==${{ matrix.numpy-version }}' test/test.py -v TestBufferProtocolVersionV2 diff --git a/ci/run_tests_pipeline.yaml b/ci/run_tests_pipeline.yaml index 27c8e0df..4625842a 100644 --- a/ci/run_tests_pipeline.yaml +++ b/ci/run_tests_pipeline.yaml @@ -22,6 +22,9 @@ stages: mac: imageName: "macos-latest" poolName: "Azure Pipelines" + mac-arm: + imageName: "macos-14" + poolName: "Azure Pipelines" windows-msvc-2019: imageName: "windows-2019" poolName: "Azure Pipelines" From 476b60ff43db5f8e069ca42d901e7b0bb13b90d3 Mon Sep 17 00:00:00 2001 From: Steven Sklar Date: Mon, 15 Dec 2025 10:01:44 -0500 Subject: [PATCH 4/4] Revert "how about this?" This reverts commit 0df3d3fcbe41a76dd991d970126db2bcd13021e2. --- .github/workflows/test-macos-arm.yaml | 93 +++++++++++++++++++++++++++ ci/run_tests_pipeline.yaml | 3 - 2 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/test-macos-arm.yaml diff --git a/.github/workflows/test-macos-arm.yaml b/.github/workflows/test-macos-arm.yaml new file mode 100644 index 00000000..7b230f2f --- /dev/null +++ b/.github/workflows/test-macos-arm.yaml @@ -0,0 +1,93 @@ +name: Test macOS ARM + +on: + pull_request: + branches: [main] + push: + branches: [main] + +jobs: + test: + name: Test on macOS ARM + runs-on: macos-14 # ARM64 (M1) runner + timeout-minutes: 90 + strategy: + fail-fast: false + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13"] + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + submodules: true + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Rust + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Install Cython + run: | + python3 --version + python3 -m pip install --upgrade pip + python3 -m pip install cython + + - name: Install test dependencies + run: python3 ci/pip_install_deps.py + + - name: Build + run: python3 proj.py build + + - name: Run tests + run: python3 proj.py test 1 + env: + JAVA_HOME: ${{ env.JAVA_HOME_17_ARM64 }} + + test-numpy-compat: + name: Test numpy compatibility + runs-on: macos-14 # ARM64 (M1) runner + timeout-minutes: 90 + strategy: + fail-fast: false + matrix: + include: + - python-version: "3.10" + numpy-version: "1.21.0" + - python-version: "3.10" + numpy-version: "1.24.0" + - python-version: "3.10" + numpy-version: "1.26.0" + - python-version: "3.11" + numpy-version: "2.0.0" + - python-version: "3.11" + numpy-version: "2.2.0" + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + submodules: true + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Rust + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Install uv + run: python3 -m pip install uv + + - name: Run tests with numpy ${{ matrix.numpy-version }} + run: uv run --python python --with 'numpy==${{ matrix.numpy-version }}' test/test.py -v TestBufferProtocolVersionV2 diff --git a/ci/run_tests_pipeline.yaml b/ci/run_tests_pipeline.yaml index 4625842a..27c8e0df 100644 --- a/ci/run_tests_pipeline.yaml +++ b/ci/run_tests_pipeline.yaml @@ -22,9 +22,6 @@ stages: mac: imageName: "macos-latest" poolName: "Azure Pipelines" - mac-arm: - imageName: "macos-14" - poolName: "Azure Pipelines" windows-msvc-2019: imageName: "windows-2019" poolName: "Azure Pipelines"