Skip to content

chore(deps): align QPK pin to ac1d07c6b018 #1202

chore(deps): align QPK pin to ac1d07c6b018

chore(deps): align QPK pin to ac1d07c6b018 #1202

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Reject public runtime configuration bindings
run: |
set -euo pipefail
if rg -n '\$\{\{[[:space:]]*vars\.(GLOBAL_TELEGRAM_CHAT_ID|CLOUD_RUN_SERVICES|CLOUD_RUN_SERVICE|RUNTIME_HEARTBEAT_REQUIRED_SERVICES|RUNTIME_GUARD_SCHEDULER_JOB_PATTERN)([[:space:]]|\}\}|\|\|)' .github/workflows; then
echo "Sensitive operational runtime configuration must use GitHub Secrets, not GitHub Variables." >&2
exit 1
fi
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install dependencies
run: |
set -euo pipefail
python -m pip install --upgrade pip uv
uv sync --frozen --extra test
- name: Smoke import pinned shared packages
run: |
set -euo pipefail
uv run --no-sync python - <<'PY'
from quant_platform_kit.common.port_adapters import CallableNotificationPort, CallablePortfolioPort
from hk_equity_strategies import resolve_canonical_profile as resolve_hk_canonical_profile
from us_equity_strategies import resolve_canonical_profile
assert CallableNotificationPort
assert CallablePortfolioPort
assert resolve_canonical_profile("russell_top50_leader_rotation") == "russell_top50_leader_rotation"
assert resolve_hk_canonical_profile("hk_global_etf_tactical_rotation") == "hk_global_etf_tactical_rotation"
PY
- name: Validate production Cloud Run startup
run: uv run --no-sync python scripts/validate_cloud_run_startup.py
- name: Run ruff
run: |
set -euo pipefail
uv run --no-sync ruff check --exclude external .
- name: Check QPK pin consistency
run: |
set -euo pipefail
QPK_EXPECTED_PIN=e7d8659ef5b8f66660ea58f58202735fa3508cc1 uv run --no-sync python scripts/check_qpk_pin_consistency.py
- name: Ensure uv.lock matches pyproject.toml
run: uv lock --check
- name: Run unit tests
run: |
set -euo pipefail
PYTHONPATH=. PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 uv run --no-sync python -m pytest -q tests