feat: precision-driven quantization (FP16, RTN int4, static QDQ) via --precision flag #2650
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Lint | |
| on: | |
| pull_request: | |
| branches: [main, "release/*"] | |
| push: | |
| branches: [main, "release/*"] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| lint: | |
| runs-on: windows-latest | |
| # Bumped from 5: combined mypy on 23 packages cold-starts at ~3-4 min on | |
| # Windows runners; the original 5-min ceiling cancelled mid-run. | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| - name: Set up Python | |
| run: uv python install 3.11 | |
| - name: Install dependencies | |
| run: uv sync --all-extras --all-groups | |
| - name: Check license headers | |
| run: | | |
| uv run pre-commit run insert-license --all-files | |
| - name: Lint | |
| run: uv run ruff check src/ tests/ | |
| # Required type check: these packages are clean against the strict | |
| # config in pyproject.toml. Any new mypy error here blocks the PR. | |
| # Expand the package list as more folders are cleaned up. | |
| # | |
| # Single mypy invocation across all packages — a per-package loop pays | |
| # cold typeshed/plugin startup per package and tipped the job past the | |
| # 5-minute timeout once the list grew to 12. The combined summary still | |
| # reports total error/file counts; error lines include file paths so | |
| # the failing package is identifiable without per-package groups. | |
| - name: Type check (required) | |
| run: >- | |
| uv run mypy | |
| -p winml.modelkit.analyze | |
| -p winml.modelkit.build | |
| -p winml.modelkit.cache | |
| -p winml.modelkit.commands | |
| -p winml.modelkit.compiler | |
| -p winml.modelkit.config | |
| -p winml.modelkit.core | |
| -p winml.modelkit.data | |
| -p winml.modelkit.datasets | |
| -p winml.modelkit.eval | |
| -p winml.modelkit.export | |
| -p winml.modelkit.inference | |
| -p winml.modelkit.inspect | |
| -p winml.modelkit.loader | |
| -p winml.modelkit.onnx | |
| -p winml.modelkit.optim | |
| -p winml.modelkit.optracing | |
| -p winml.modelkit.quant | |
| -p winml.modelkit.serve | |
| -p winml.modelkit.session | |
| -p winml.modelkit.sysinfo | |
| -p winml.modelkit.telemetry | |
| -p winml.modelkit.utils |