@@ -64,19 +64,12 @@ jobs:
6464 - name : Install dependencies
6565 run : |
6666 set -euo pipefail
67- python -m pip install --upgrade pip
68- # Install non-git packages first to avoid cross-package dependency conflicts
69- grep -vE "^\s*(#|$)|git\+" requirements.txt | xargs -r python -m pip install -c https://raw.githubusercontent.com/QuantStrategyLab/QuantPlatformKit/main/constraints.txt
70- # Install git-based packages individually with --no-deps
71- grep 'git+' requirements.txt | while IFS= read -r pkg; do
72- [ -n "$pkg" ] && python -m pip install --no-deps "$pkg"
73- done
74- python -m pip install pytest pytest-cov ruff build
75-
67+ python -m pip install --upgrade pip uv
68+ uv sync --frozen --extra test --no-install-project
7669 - name : Smoke import pinned shared packages
7770 run : |
7871 set -euo pipefail
79- python - <<'PY'
72+ uv run --no-sync python - <<'PY'
8073 from quant_platform_kit.common.port_adapters import CallableNotificationPort, CallablePortfolioPort
8174 from us_equity_strategies import resolve_canonical_profile
8275
@@ -88,21 +81,21 @@ jobs:
8881 - name : Install editable shared repositories
8982 run : |
9083 set -euo pipefail
91- python -m pip install --no-deps -e external/QuantPlatformKit -e external/UsEquityStrategies
84+ uv pip install --no-deps -e external/QuantPlatformKit -e external/UsEquityStrategies
9285
9386 - name : Verify Python dependencies
94- run : python -m pip check
87+ run : uv pip check
9588
9689 - name : Run ruff
9790 run : |
9891 set -euo pipefail
99- ruff check --exclude external .
92+ uv run --no-sync ruff check --exclude external .
10093
10194 - name : Run tests
102- run : python -m pytest -q
95+ run : uv run --no-sync python -m pytest -q
10396
10497 - name : Check QPK pin consistency
105- run : python scripts/check_qpk_pin_consistency.py
98+ run : uv run --no-sync python scripts/check_qpk_pin_consistency.py
10699
107100 - name : Build package
108- run : python -m build
101+ run : uv run --no-sync python -m build
0 commit comments