
Heisenberg SSC के लिए GitHub Action
निर्भरता अद्यतनों के लिए एक हल्का PR गार्डरेल।
यह केवल नई या बदली गई निर्भरताओं को स्कैन करता है (आपके लॉक/मैनिफेस्ट से), स्वास्थ्य और जोखिम संकेत (deps.dev + ह्यूरिस्टिक्स) खींचता है, ताजा प्रकाशनों को फ्लैग करता है, PR पर एक रिपोर्ट टिप्पणी करता है, वैकल्पिक रूप से इसे सुरक्षा समीक्षा के लिए लेबल करता है, और नीति हिट पर काम को विफल कर सकता है।
समर्थित पारिस्थितिकी तंत्र: PyPI (poetry.lock, requirements.txt, uv.lock), npm/yarn (package-lock.json, yarn.lock), Go (go.mod).
security review लेबल जोड़ता है और चेतावनी मोड में चलता है (CI हरा रहता है ताकि कम परेशानी बनी रहे)।डिफ़ॉल्ट रूप से गैर-अवरुद्ध: यह कोई कठोर ब्लॉक नहीं है, बस एक स्पीडबंप है ताकि यदि कुछ संदिग्ध पाया जाए तो आपको सचेत किया जा सके। आपकी CI पाइपलाइन विफल नहीं होगी, लेकिन निर्भरता जोखिम टिप्पणी में प्रदर्शित होंगे। आप फ्लैग किए गए पैकेजों के लिए भविष्य की सूचनाओं को दबाने के लिए PR पर
accept-riskटिप्पणी कर सकते हैं, जब तक आप मैनिफेस्ट में कोई अन्य कमिट नहीं करते।
एक रिपॉजिटरी के लिए न्यूनतम वर्कफ़्लो जो Poetry / npm / Yarn / Go का उपयोग करता है:
name: Heisenberg Health Check
on:
pull_request:
paths:
- "**/poetry.lock"
- "**/uv.lock"
- "**/package-lock.json"
- "**/yarn.lock"
- "**/requirements.txt"
- "**/go.mod"
permissions:
contents: read
pull-requests: write # PR comment
issues: write # create label (only needed if add_security_label is true)
jobs:
deps-health:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Detect changed manifest
id: detect
run: |
git fetch origin ${{ github.base_ref }} --depth=1
LOCK_PATH=$(git diff --name-only origin/${{ github.base_ref }} | \
grep -E 'poetry.lock$|uv.lock$|package-lock.json$|yarn.lock$|requirements.txt$|go.mod$' | head -n1 || true)
echo "lock_path=$LOCK_PATH" >> $GITHUB_OUTPUT
- name: Heisenberg Dependency Health Check
uses: AppOmni-Labs/heisenberg-ssc-gha@v1
with:
package_file: ${{ steps.detect.outputs.lock_path }}
Security Review लेबल अक्षम करेंयदि आप नहीं चाहते कि एक्शन फ्लैग की गई निर्भरताओं वाले PR में Security Review लेबल जोड़े, तो add_security_label को "false" पर सेट करें:
- name: Heisenberg Dependency Health Check
uses: AppOmni-Labs/heisenberg-ssc-gha@v1
with:
package_file: ${{ steps.detect.outputs.lock_path }}
add_security_label: "false"