Skip to content

ci: skip CUDA wheels in mypy/pyright typecheck jobs - #1598

Merged
TATP-233 merged 1 commit into
mainfrom
chore/issue-1597-typecheck-ci-skip-cuda
Sep 16, 2026
Merged

TATP-233 merged 1 commit into
mainfrom
chore/issue-1597-typecheck-ci-skip-cuda

Conversation

@TATP-233

@TATP-233 TATP-233 commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • The pyright and mypy jobs ran a bare uv sync, installing torch 2.8.0+cu128 (1.7GB), 72 nvidia-* CUDA wheels (4.1GB), and triton (541MB) — ~6.3GB of the 7.5GB venv — on 1-vCPU ubuntu-slim runners to type-check 106 source files.
  • Measured on run 35070480055: pyright job install step 4m55s for a 1m24s check (the analysis itself is ~4s). The benchmark-smoke/test jobs, which already skip the CUDA packages, install in under a minute.
  • This PR applies the same pattern to both typecheck jobs: skip torch/nvidia-*-cu12/triton during uv sync, install CPU torch==2.8.0 (matches the version pinned in uv.lock; torch's .pyi stubs are identical between CPU and CUDA builds), and switch the Check steps to uv run --no-sync so uv does not re-sync the swapped torch back to the cu128 build.
  • No user-facing or training-impact behavior; CI only.

Linked Work

Validation

  • make test-all passed on the final local head before this PR was created or updated
  • Additional task-specific validation listed below

Commands actually run:

make test-all
# ruff format/check: OK; mypy: Success, 128 files; pyright: 0 errors, 1 warning
# pytest: 1474 passed, 26 skipped, 588 deselected; benchmark smoke: 34/34 + 35/35

# Faithful CI-env replication in a scratch venv (uv sync with the new
# --no-install-package list + CPU torch 2.8.0, no nvidia/triton):
uv run --no-sync pyright --venvpath /tmp/pyrightcheck   # 0 errors, 7 warnings
UV_PROJECT_ENVIRONMENT=/tmp/pyrightcheck/.venv uv run --no-sync mypy src/unilab  # Success, 128 files

The 7 pyright warnings are all reportMissingImports for optional extras (mujoco, glfw, drake_uni) that are equally absent from today's CI pyright env (bare uv sync installs no extras) — check results are unchanged.

Remote CI route:

Impact

  • Backend impact: none
  • Platform impact: Linux CI runners only
  • Training effect expected: no

Artifacts

  • W&B: n/a
  • benchmark result: n/a
  • video / screenshot: n/a
  • ONNX / checkpoint: n/a

Checklist

  • Added or updated tests where needed (n/a — workflow-only change)
  • Updated docs if behavior or workflow changed (n/a — no policy/workflow-doc change; the ci.yml pattern is copied from existing jobs)
  • Linked the driving issue
  • Noted any follow-up work explicitly (the test job still installs CPU torch 2.7.0 while uv.lock pins 2.8.0; aligning it is a separate concern)

The pyright and mypy jobs ran a bare `uv sync`, installing torch
2.8.0+cu128, 72 nvidia-* CUDA wheels, and triton (~6.3GB of the 7.5GB
venv) on 1-vCPU ubuntu-slim runners just to type-check 106 source
files. Measured on run 35070480055: pyright install step 4m55s vs a
1m24s check; the analysis itself is ~4s.

Apply the pattern already used by the benchmark-smoke and test jobs:
skip torch/nvidia-*/triton during sync, install CPU torch 2.8.0
(matches the version pinned in uv.lock; .pyi stubs are identical to
the CUDA build), and run the checks with `uv run --no-sync` so uv
does not re-sync the swapped torch back to cu128.

Validated against a faithful scratch venv (CPU torch, no nvidia/
triton): pyright 0 errors with the same 7 optional-import warnings as
today (mujoco/glfw/drake_uni are extras, absent from both envs), mypy
success on 128 files.

Closes #1597
@TATP-233
TATP-233 merged commit 2e3f30a into main Sep 16, 2026
6 checks passed
@TATP-233
TATP-233 deleted the chore/issue-1597-typecheck-ci-skip-cuda branch September 16, 2026 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant