-
Notifications
You must be signed in to change notification settings - Fork 102
47 lines (41 loc) · 1.58 KB
/
pre-commit.yml
File metadata and controls
47 lines (41 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
name: Pre-commit
on:
pull_request:
push:
branches:
- main
jobs:
pre-commit:
runs-on: ${{ matrix.os }}
# Free-threaded Python (3.14t) lacks pre-built wheels for tokenizers;
# the fallback source build is fragile across macOS toolchain updates.
continue-on-error: ${{ matrix.python-version == '3.14t' }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.11', '3.14t']
exclude:
# pywin32 doesn't have wheels for Python 3.14t (free-threaded) on Windows yet
- os: windows-latest
python-version: '3.14t'
# tokenizers has no free-threaded wheel; the source-build fallback
# fails to link on macOS arm64 since an Apr 2026 runner-image update.
# Standard Python 3.14 (non-FT) users are unaffected — they pick up
# tokenizers' abi3 wheel. Re-enable once HuggingFace/tokenizers ships
# free-threaded wheels (or switch to a newer litellm that drops the
# tokenizers dep).
- os: macos-latest
python-version: '3.14t'
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Install dependencies
run: uv sync --python ${{ matrix.python-version }} --python-preference only-managed
- name: Lint & format (prek)
run: uv run prek run --all-files --verbose --show-diff-on-failure --skip pytest
- name: Test (pytest)
run: uv run pytest tests/ -v