Skip to content

Commit 4985bae

Browse files
committed
Fix transitive llvmlite dependency on MacOS x86_64
llvmlite no longer builds pypi wheels for this platform, and its source build process is broken with modern setuptools and LLVM, such that building with, e.g. uv, is an involved process requiring an old LLVM and custom build environment. Rather than force that or a conda install, exclude those llvmlite versions. Add GHA tests for MacOS intel and ARM.
1 parent 0f85f32 commit 4985bae

File tree

2 files changed

+26
-7
lines changed

2 files changed

+26
-7
lines changed

.github/workflows/tests.yaml

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55

66
jobs:
7-
test:
7+
test-linux:
88
runs-on: ubuntu-latest
99
strategy:
1010
fail-fast: false
@@ -29,17 +29,34 @@ jobs:
2929
PGUSER: postgres
3030

3131
steps:
32-
- uses: actions/checkout@v2
32+
- uses: actions/checkout@v4
3333

3434
- name: Set up uv
35-
# Install a specific uv version using the installer
36-
run: curl -LsSf https://astral.sh/uv/0.4.1/install.sh | sh
35+
uses: astral-sh/setup-uv@v5
3736

3837
- name: Test with pytest
39-
run: uv run --extra dev --extra indirect --resolution ${{ matrix.resolution }} --python ${{ matrix.python-version}} pytest --cov=volara tests
38+
run: uv run --extra dev --extra indirect --resolution ${{ matrix.resolution }} --python ${{ matrix.python-version }} pytest --cov=volara tests
4039

4140
- name: Upload coverage to Codecov
42-
uses: codecov/codecov-action@v2
41+
uses: codecov/codecov-action@v4
4342
with:
4443
token: ${{ secrets.CODECOV_TOKEN }}
45-
fail_ci_if_error: false
44+
fail_ci_if_error: false
45+
46+
test-macos:
47+
runs-on: ${{ matrix.os }}
48+
strategy:
49+
fail-fast: false
50+
matrix:
51+
os: [macos-latest, macos-15-intel]
52+
python-version: ["3.12"]
53+
resolution: ["highest"]
54+
55+
steps:
56+
- uses: actions/checkout@v4
57+
58+
- name: Set up uv
59+
uses: astral-sh/setup-uv@v5
60+
61+
- name: Test with pytest
62+
run: uv run --extra dev --extra indirect --resolution ${{ matrix.resolution }} --python ${{ matrix.python-version }} pytest --cov=volara tests

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ dependencies = [
2525
"mwatershed>=0.5.2",
2626
"pydantic>=2.6.3",
2727
"numba>=0.59.0",
28+
# llvmlite (numba dep) dropped macOS x86_64 wheels after 0.45; avoid source builds
29+
"llvmlite<0.46,!=0.44.*; platform_machine == 'x86_64' and sys_platform == 'darwin'",
2830
"scipy>=1.15.3",
2931
"scikit-image>=0.25.2",
3032
"cloud-volume>=12.4.1",

0 commit comments

Comments
 (0)