Skip to content

Commit 69328f5

Browse files
docxologyclaude
andcommitted
fix(ci): resolve all GitHub Actions workflow failures
- Replace cache-dependency-glob "uv.lock" with "**/pyproject.toml" since uv.lock is gitignored (build.yml, test.yml, release.yml) - Pin numba>=0.59.0 and llvmlite>=0.43.0 in scientific/ml/singlecell/performance extras to fix Python 3.12 compatibility (llvmlite 0.36.0 only supports <3.10) - Replace uv add --dev with uv pip install for CI-only deps (build, twine, sphinx) - Rewrite fat-filesystem-test to use astral-sh/setup-uv@v3 instead of building uv from Rust source (container lacked cargo) - Remove broken "uv add --dev --group test" line (no package specified) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent e75b3ca commit 69328f5

File tree

4 files changed

+22
-27
lines changed

4 files changed

+22
-27
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,14 @@ jobs:
3737
with:
3838
version: "latest"
3939
enable-cache: true
40-
cache-dependency-glob: "uv.lock"
40+
cache-dependency-glob: "**/pyproject.toml"
4141

4242
- name: Set up Python ${{ matrix.python-version }}
4343
run: uv python install ${{ matrix.python-version }}
4444

4545
- name: Install build dependencies
4646
run: |
47-
uv add --dev build twine
48-
uv add --dev --group test # For build validation tests
47+
uv pip install build twine
4948
5049
- name: Build package
5150
run: |

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ jobs:
6868
with:
6969
version: "latest"
7070
enable-cache: true
71-
cache-dependency-glob: "uv.lock"
71+
cache-dependency-glob: "**/pyproject.toml"
7272

7373
- name: Set up Python 3.12
7474
run: uv python install 3.12
7575

7676
- name: Install build dependencies
77-
run: uv add --dev build twine
77+
run: uv pip install build twine
7878

7979
- name: Build distribution packages
8080
run: bash scripts/package/build.sh --check
@@ -115,7 +115,7 @@ jobs:
115115

116116
- name: Install documentation dependencies
117117
run: |
118-
uv add --dev sphinx sphinx-autodoc-typehints myst-parser nbsphinx
118+
uv pip install sphinx sphinx-autodoc-typehints myst-parser nbsphinx
119119
120120
- name: Build documentation
121121
run: bash scripts/package/uv_docs.sh build

.github/workflows/test.yml

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
with:
5555
version: "latest"
5656
enable-cache: true
57-
cache-dependency-glob: "uv.lock"
57+
cache-dependency-glob: "**/pyproject.toml"
5858

5959
- name: Set up Python ${{ matrix.python-version }}
6060
run: uv python install ${{ matrix.python-version }}
@@ -187,7 +187,7 @@ jobs:
187187
with:
188188
version: "latest"
189189
enable-cache: true
190-
cache-dependency-glob: "uv.lock"
190+
cache-dependency-glob: "**/pyproject.toml"
191191

192192
- name: Set up Python 3.12
193193
run: uv python install 3.12
@@ -218,37 +218,29 @@ jobs:
218218

219219
fat-filesystem-test:
220220
runs-on: ubuntu-latest
221-
container:
222-
image: ubuntu:latest
223-
options: --tmpfs /tmp:rw,noexec,nosuid,size=100m
224221
steps:
225222
- name: Checkout code
226223
uses: actions/checkout@v4
227224

228225
- name: Install uv
229-
uses: actions/checkout@v4
226+
uses: astral-sh/setup-uv@v3
230227
with:
231-
repository: astral-sh/uv
232-
path: uv-install
228+
version: "latest"
233229

234-
- name: Set up uv
235-
run: |
236-
cd uv-install
237-
cargo build --release
238-
sudo cp target/release/uv /usr/local/bin/
230+
- name: Set up Python 3.12
231+
run: uv python install 3.12
239232

240233
- name: Create FAT-like filesystem simulation
241234
run: |
242-
# Simulate FAT filesystem limitations
243-
sudo mkdir -p /tmp/fat_test
244-
sudo mount -t tmpfs -o size=1g,nr_inodes=1000 tmpfs /tmp/fat_test
245-
cd /tmp/fat_test
246-
git clone ${{ github.server_url }}/${{ github.repository }} .
235+
# Simulate FAT filesystem limitations using tmpfs
236+
sudo mkdir -p /mnt/fat_test
237+
sudo mount -t tmpfs -o size=1g,nr_inodes=1000 tmpfs /mnt/fat_test
238+
sudo cp -a . /mnt/fat_test/
247239
248240
- name: Test on simulated FAT filesystem
249241
run: |
250-
cd /tmp/fat_test
251-
bash scripts/package/setup.sh
242+
cd /mnt/fat_test
243+
bash scripts/package/setup.sh --skip-tests
252244
bash scripts/package/test.sh --mode fast
253245
254246
summary:

pyproject.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ scientific = [
3636
"scikit-learn>=1.3.0",
3737
"seaborn>=0.13.0",
3838
"networkx>=3.2",
39+
"numba>=0.59.0", # JIT compilation, must be >=0.59 for Python 3.12
40+
"llvmlite>=0.43.0", # Required by numba, must be >=0.43 for Python 3.12
3941
"umap-learn>=0.5.4",
4042
"scanpy>=1.9.6", # Single-cell analysis
4143
"anndata>=0.10.0", # Annotated data structures
@@ -45,6 +47,7 @@ scientific = [
4547
ml = [
4648
"scipy>=1.11.0",
4749
"scikit-learn>=1.3.0",
50+
"numba>=0.59.0", # Required by umap-learn, must be >=0.59 for Python 3.12
4851
"umap-learn>=0.5.4",
4952
"optuna>=3.4.0", # Hyperparameter optimization
5053
"joblib>=1.3.0", # Parallel processing
@@ -66,6 +69,7 @@ singlecell = [
6669
"anndata>=0.10.0",
6770
"scipy>=1.11.0",
6871
"scikit-learn>=1.3.0",
72+
"numba>=0.59.0", # Required by umap-learn, must be >=0.59 for Python 3.12
6973
"umap-learn>=0.5.4",
7074
"seaborn>=0.13.0",
7175
"leidenalg>=0.10.0", # Leiden clustering
@@ -128,7 +132,7 @@ scraping = [
128132

129133
# Performance and parallel computing
130134
performance = [
131-
"numba>=0.56.0", # JIT compilation
135+
"numba>=0.59.0", # JIT compilation, must be >=0.59 for Python 3.12
132136
"dask>=2022.8.0", # Parallel computing
133137
"ray>=2.0.0", # Distributed computing
134138
"joblib>=1.2.0", # Parallel processing

0 commit comments

Comments
 (0)