From a7411e076b344f3de499c491b2631b4227b5da69 Mon Sep 17 00:00:00 2001 From: Pigbibi <20649888+Pigbibi@users.noreply.github.com> Date: Thu, 2 Jul 2026 01:29:19 +0800 Subject: [PATCH] ci: fix qpk pin downstream ref check --- .github/workflows/update-qpk-pin.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-qpk-pin.yml b/.github/workflows/update-qpk-pin.yml index 406f203..dbbbd33 100644 --- a/.github/workflows/update-qpk-pin.yml +++ b/.github/workflows/update-qpk-pin.yml @@ -65,16 +65,24 @@ jobs: python -c "from quant_platform_kit.notifications.telegram import send_telegram_message; print('telegram OK')" python -c "from quant_platform_kit.common.contracts import SnapshotProfileContract; print('contracts OK')" - # Verify strategy repos installable with NEW constraints + # Verify strategy repo refs are fetchable and package metadata is buildable. + # + # Strategy packages currently carry their own direct QPK pin. A full + # dependency solve with the newly generated top-level QPK constraint + # would conflict until downstream repos update those pins, so keep this + # check focused on the package refs generated above. failed=0 for dep in us-equity-strategies hk-equity-strategies cn-equity-strategies crypto-strategies; do echo "Checking $dep..." - if python -m pip install --dry-run -c constraints.txt "$dep" >/dev/null 2>&1; then + log_file="$(mktemp)" + if python -m pip install --dry-run --no-deps -c constraints.txt "$dep" >"${log_file}" 2>&1; then echo " $dep OK" else echo " $dep FAILED" + sed -n '1,160p' "${log_file}" failed=1 fi + rm -f "${log_file}" done if [ "${failed}" -ne 0 ]; then echo "One or more downstream dependency checks failed." >&2