Celsia's picture
Upload folder using huggingface_hub
ecc81b3 verified
Raw
History Blame Contribute Delete
2.27 kB
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # full history: DEBUG.md's commit citations are tested
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
# CPU-only torch, and none of the kernel extras. This job IS the Phase 0
# acceptance criterion: the library must install and pass on a machine
# with no CUDA and no optional dependencies.
- name: Install
run: |
python -m pip install --upgrade pip
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install -e ".[dev]"
- name: Lint
run: ruff check . && ruff format --check .
# Advisory, not gating (see PLAN.md Phase 0) — but it has to actually run,
# or errors accumulate silently until someone thinks to check.
- name: Typecheck
run: mypy
continue-on-error: true
- name: Test
run: pytest -v --cov --cov-report=term-missing
viewer:
# The viewer is JS and builds once; the python job must not wait on node.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Build the bundle
run: |
npm --prefix viewer ci
npm --prefix viewer run build
python viewer/install_bundle.py
# The viz tests skip themselves without a bundle, which is right for a
# checkout and wrong for this job: here a skip would mean the whole
# feature went untested and said "ok".
- name: Serve it
run: |
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install -e ".[dev]"
pytest tests/test_viz.py -v
python - <<'EOF'
from torch_dimensions import viz
assert viz.bundle_exists(), "bundle missing after build — the viz tests all skipped"
EOF