
GitHub Action لـ Heisenberg SSC
درع خفيف لطلبات السحب (PR) لتحديثات التبعيات.
يقوم بمسح التبعيات الجديدة أو المعدلة فقط (من ملف القفل/البيان الخاص بك)، ويحصل على إشارات الصحة والمخاطر (deps.dev + الاستدلالات)، ويشير إلى الإصدارات الحديثة، ويعلق تقريرًا على طلب السحب، ويوسمها اختياريًا للمراجعة الأمنية، ويمكنه إفشال المهمة عند انتهاك السياسات.
الأنظمة البيئية المدعومة: PyPI (poetry.lock, requirements.txt, uv.lock), npm/yarn (package-lock.json, yarn.lock), Go (go.mod).
security review ويشتغل في وضع التحذير (يظل CI أخضر لتقليل الإزعاج).غير مانع افتراضيًا: إنه ليس حظرًا صارمًا بل مجرد مطب سرعة لتنبيهك إذا تم اكتشاف شيء مشبوه. لن يفشل خط CI الخاص بك، ولكن سيتم عرض مخاطر التبعيات في التعليق. يمكنك التعليق بـ
accept-riskعلى طلب السحب لكتم الإشعارات المستقبلية للحزم المُعلّم عليها حتى تقوم بإجراء commit آخر للبيان.
سير عمل أدنى لمستودع يستخدم 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إذا كنت لا تريد أن يضيف الإجراء وسم 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"