1111 workflow_dispatch :
1212
1313jobs :
14- build-and-dl-models :
14+ build-and-test-standard :
1515 runs-on : ${{ matrix.os }}
1616
1717 strategy :
@@ -25,48 +25,27 @@ jobs:
2525 macos-15-intel,
2626 windows-2025,
2727 ]
28- python-version : ["3.12 "]
28+ python-version : ["3.11", "3.12", "3.13 "]
2929
3030 steps :
3131 - uses : actions/checkout@v4
3232
33- - name : Set up Python ${{ matrix.python-version }}
34- uses : actions/setup-python@v5
35- with :
36- python-version : ${{ matrix.python-version }}
37-
38- - name : Upgrade pip
39- run : python -m pip install --upgrade pip
40-
41- - name : Install dependencies
33+ - name : Install audio system libs (Linux)
34+ if : startsWith(matrix.os, 'ubuntu')
4235 run : |
43- python -m pip install uv build --upgrade
44- python -m uv pip install twine build --upgrade
45- python -m uv pip install --system .[tests]
36+ sudo apt-get update
37+ sudo apt-get install -y libsndfile1
4638
47- - name : Download models
39+ - name : Install audio system libs (macOS)
40+ if : startsWith(matrix.os, 'macos')
4841 run : |
49- pytest -m "load_model" -n auto
50-
51- build-and-test-standard :
52- needs : build-and-dl-models
53- runs-on : ${{ matrix.os }}
54-
55- strategy :
56- matrix :
57- os :
58- [
59- ubuntu-slim,
60- ubuntu-24.04,
61- ubuntu-24.04-arm,
62- macos-15,
63- macos-15-intel,
64- windows-2025,
65- ]
66- python-version : ["3.11", "3.12", "3.13"]
42+ brew update
43+ brew install libsndfile
6744
68- steps :
69- - uses : actions/checkout@v4
45+ - name : Install audio system libs (Windows)
46+ if : startsWith(matrix.os, 'windows')
47+ run : |
48+ choco install libsndfile
7049
7150 - name : Set up Python ${{ matrix.python-version }}
7251 uses : actions/setup-python@v5
@@ -90,10 +69,16 @@ jobs:
9069 # - name: Type checking
9170 # run: mypy
9271
93- - name : Run tests
72+ - name : Download models
9473 run : |
9574 pytest -m "not repro and load_model" -n auto --max-worker-restart=0
75+
76+ - name : Run standard tests
77+ run : |
9678 pytest -m "not repro and not load_model and (not litert and not gpu)" -n auto --max-worker-restart=0
79+
80+ - name : Run LiteRT tests
81+ run : |
9782 pytest -m "not repro and not load_model and litert" -n auto --max-worker-restart=0
9883
9984 - name : Test build
10287 python -m twine check dist/*
10388
10489 build-and-test-repro :
105- needs : build-and-dl-models
10690 runs-on : ${{ matrix.os }}
10791
10892 strategy :
@@ -121,6 +105,23 @@ jobs:
121105 steps :
122106 - uses : actions/checkout@v4
123107
108+ - name : Install audio system libs (Linux)
109+ if : startsWith(matrix.os, 'ubuntu')
110+ run : |
111+ sudo apt-get update
112+ sudo apt-get install -y libsndfile1
113+
114+ - name : Install audio system libs (macOS)
115+ if : startsWith(matrix.os, 'macos')
116+ run : |
117+ brew update
118+ brew install libsndfile
119+
120+ - name : Install audio system libs (Windows)
121+ if : startsWith(matrix.os, 'windows')
122+ run : |
123+ choco install libsndfile
124+
124125 - name : Set up Python ${{ matrix.python-version }}
125126 uses : actions/setup-python@v5
126127 with :
@@ -134,11 +135,19 @@ jobs:
134135 python -m pip install uv build --upgrade
135136 python -m uv pip install --system .[tests,repro]
136137
137- - name : Run tests
138+ - name : Download models
138139 run : |
139140 pytest -m "load_model" -n auto --max-worker-restart=0
140- # run normal tests including repro tests
141+
142+ - name : Run standard tests incl. repro tests
143+ run : |
141144 pytest -m "not load_model and (not litert and not gpu)" -n auto --max-worker-restart=0
142- # run litert tests including repro tests
145+
146+ - name : Run LiteRT tests incl. repro tests
147+ run : |
143148 pytest -m "not load_model and litert" -n auto --max-worker-restart=0
144- # gpu tests are not supported to be run with repro environment
149+
150+ - name : Test build
151+ run : |
152+ python -m build -o dist/
153+ python -m twine check dist/*
0 commit comments