feat(keypoint-detection): enable ViTPose config/build/perf (#905) #2803
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 24 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: the ENTIRE winml.modelkit package is clean against | |
| # the strict config in pyproject.toml. Any new mypy error here blocks the PR. | |
| # | |
| # A single whole-package invocation (not a per-subpackage list) — it covers | |
| # every subpackage plus the top-level modules (cli.py, __init__.py, etc.), | |
| # and surfaces cross-package interactions (import cycles, shared return-type | |
| # unions) that per-subpackage runs miss. Relaxed/ignored modules (tests, | |
| # analyze.onnx_opset) are scoped via [[tool.mypy.overrides]] in pyproject. | |
| - name: Type check (required) | |
| run: >- | |
| uv run mypy | |
| -p winml.modelkit |