Skip to content

Commit d786c11

Browse files
committed
fix: use PR-based auto-update for QPK_PIN (bypass GH013)
1 parent cfcbbcd commit d786c11

2 files changed

Lines changed: 28 additions & 24 deletions

File tree

.github/workflows/update-qpk-pin.yml

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@ on:
55
branches: [ main ]
66
paths-ignore:
77
- "QPK_PIN"
8+
- "constraints.txt"
89
- "docs/**"
910
- "**.md"
1011

1112
permissions:
1213
contents: write
14+
pull-requests: write
1315

1416
jobs:
1517
update-pin:
@@ -19,26 +21,31 @@ jobs:
1921
steps:
2022
- uses: actions/checkout@v6
2123

22-
- name: Update QPK_PIN
24+
- name: Update QPK_PIN and constraints
25+
id: update
2326
run: |
2427
SHA=$(git rev-parse HEAD)
2528
echo "$SHA" > QPK_PIN
26-
# Update constraints.txt with latest QPK SHA
27-
sed -i "s|quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@[a-f0-9]*|quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@$SHA|" constraints.txt
28-
# Fetch latest SHAs from all strategy repos and update constraints
29-
for repo in UsEquityStrategies HkEquityStrategies CnEquityStrategies CryptoStrategies QuantUsComboStrategies; do
30-
REMOTE_SHA=$(git ls-remote "https://github.com/QuantStrategyLab/$repo.git" HEAD | cut -f1)
31-
[ -n "$REMOTE_SHA" ] && sed -i "s|${repo,,} @ git+https://github.com/QuantStrategyLab/$repo.git@[a-f0-9]*|${repo,,} @ git+https://github.com/QuantStrategyLab/$repo.git@$REMOTE_SHA|" constraints.txt || true
29+
30+
# Update SHAs from remote repos
31+
for repo in UsEquityStrategies HkEquityStrategies CnEquityStrategies CryptoStrategies; do
32+
RSHA=$(git ls-remote "https://github.com/QuantStrategyLab/$repo.git" HEAD | cut -f1)
33+
[ -n "$RSHA" ] && sed -i "s|${repo,,} @ git+https://github.com/QuantStrategyLab/$repo.git@[a-f0-9]*|${repo,,} @ git+https://github.com/QuantStrategyLab/$repo.git@$RSHA|" constraints.txt || true
3234
done
35+
sed -i "s|quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@[a-f0-9]*|quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@$SHA|" constraints.txt
3336
34-
- name: Commit and push updated pin
35-
run: |
36-
git config user.name "github-actions[bot]"
37-
git config user.email "github-actions[bot]@users.noreply.github.com"
38-
git add QPK_PIN
39-
if git diff --cached --quiet; then
40-
echo "QPK_PIN already up to date"
37+
if git diff --quiet; then
38+
echo "changed=false" >> "$GITHUB_OUTPUT"
4139
else
42-
git commit -m "chore: update QPK_PIN to $SHA"
43-
git push
40+
echo "changed=true" >> "$GITHUB_OUTPUT"
4441
fi
42+
43+
- name: Create PR for pin update
44+
if: steps.update.outputs.changed == 'true'
45+
uses: peter-evans/create-pull-request@v7
46+
with:
47+
commit-message: "chore: auto-update QPK_PIN and constraints.txt"
48+
title: "chore: auto-update QPK_PIN and constraints.txt"
49+
body: "Automated update of QPK_PIN and dependency constraint SHAs."
50+
branch: auto/qpk-pin-update
51+
delete-branch: true

constraints.txt

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
# QSL Dependency Constraints — SINGLE SOURCE OF TRUTH
2-
# All repos MUST reference this file for git-based dependency SHAs.
3-
# Generated: 2026-07-01
42
# Auto-updated by update-qpk-pin.yml on every push to QPK main.
53

6-
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@a9085d6d46147f62b80bbd441d19d85acaa3dda6
7-
us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@635f64207a9db8dc7af51e7ad496557a57be5579
8-
hk-equity-strategies @ git+https://github.com/QuantStrategyLab/HkEquityStrategies.git@5fb48ea102c28deb6dd1c9674553f3c77aba4f2c
9-
cn-equity-strategies @ git+https://github.com/QuantStrategyLab/CnEquityStrategies.git@e09fd557c2bd9ae5f4d44228915c4e52c4b0dd21
10-
crypto-strategies @ git+https://github.com/QuantStrategyLab/CryptoStrategies.git@565be005e4186fd6d750884e7b0bc59f779f9549
4+
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@cfcbbcd51be902877eb760bc55b2612351a31e90
5+
us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@1e8b6ee28cdba8a9637276cf8619cd8890fa6861
6+
hk-equity-strategies @ git+https://github.com/QuantStrategyLab/HkEquityStrategies.git@1a5c8bf5f05eb708a0893f0062c6824aa9ef1882
7+
cn-equity-strategies @ git+https://github.com/QuantStrategyLab/CnEquityStrategies.git@2e5a8da3af5fa25c1a5e7de6fa00bda488f50440
8+
crypto-strategies @ git+https://github.com/QuantStrategyLab/CryptoStrategies.git@6e0037b625c98ccdb97f225b9772e3c6fff4afd2
119
quantuscombostrategies @ git+https://github.com/QuantStrategyLab/QuantUsComboStrategies.git@d35f4f86b09a7f4e99a1f83c973b21f2420398ef
1210
quanthkcombostrategies @ git+https://github.com/QuantStrategyLab/QuantHkComboStrategies.git@dfc21e923c0f9ba54678a75d0edc96a56e2188e2
1311
quantcncombostrategies @ git+https://github.com/QuantStrategyLab/QuantCnComboStrategies.git@1172e77e8046088c2bab2880343786ec135539da
1412
quantcryptocombostrategies @ git+https://github.com/QuantStrategyLab/QuantCryptoComboStrategies.git@475c5259d3ba7e2dcd4de30aaa96437142669a1c
15-
# Updated 2026-06-30

0 commit comments

Comments
 (0)