Skip to content
Apothem
सुरक्षा

ब्रांच सुरक्षा

main पर Apothem ब्रांच सुरक्षा — समीक्षा गेट, स्टेटस-चेक गेटिंग, और पुश प्रतिबंध।

एकल नई रिलीज़ कमिट प्रकाशित होने के बाद Apothem की main ब्रांच GitHub ब्रांच सुरक्षा द्वारा सुरक्षित रहती है। यह सुरक्षा rules/production-ready-prs.md में घोषित चेंज-सेट अनुशासन को लागू करती है और भविष्य के कार्य के लिए OpenSSF Scorecard की Branch-Protection तथा Code-Review जाँचों को आहार देती है।

रूलसेट घोषणा

सेटिंगमानऔचित्य
लक्ष्यmainसार्वजनिक डिफ़ॉल्ट ब्रांच की रक्षा करता है।
प्रवर्तन स्थितिactiveड्राई-रन मोड में नहीं।
मर्ज से पहले पुल रिक्वेस्ट आवश्यक करेंmain पर सीधे पुश अवरुद्ध।
आवश्यक स्वीकृत समीक्षाएँ1नए एकल-अनुरक्षक प्रोजेक्ट के लिए न्यूनतम मानवीय-समीक्षा गेट।
नई कमिट पर पुरानी स्वीकृतियाँ रद्द करेंस्वीकृति के बाद force-push समीक्षा को पुनः ट्रिगर करता है।
Code Owners से समीक्षा आवश्यक करेंस्थगितदूसरे अनुरक्षक के जुड़ने से पहले इसे सक्षम करने से एकल-अनुरक्षक PR गतिरोध में पड़ सकते हैं।
सबसे हालिया समीक्षा-योग्य पुश की स्वीकृति आवश्यक करेंनवीनतम पुश की गई कमिट को स्वीकृति लानी होगी।
वार्तालाप समाधान आवश्यकखुले समीक्षा थ्रेड मर्ज को अवरुद्ध करते हैं।
स्टेटस चेक पास होना आवश्यक करेंCI वर्कफ़्लो + Scorecard + CodeQL + pip-audit।
आवश्यक स्टेटस चेकवर्तमान मूल चेकआवश्यक सूची नवीनतम हरी रिलीज़ कमिट से ताज़ा की जाती है।
ब्रांच अद्यतन होना आवश्यक करेंपुराने-मर्ज प्रतिगमन को रोकता है।
हस्ताक्षरित कमिट आवश्यक करेंअनुशंसितस्थानीय रिलीज़ कमिट हस्ताक्षरित हैं; पूर्ण प्रवर्तन तब तक प्रतीक्षा करता है जब तक योगदानकर्ता ऑनबोर्डिंग दस्तावेज़ SSH/GPG सेटअप का वर्णन न कर दे।
रैखिक इतिहास आवश्यक करेंएकल-रेखा सार्वजनिक इतिहास को बोधगम्य बनाए रखता है।
force-push अवरुद्ध करेंmain पर इतिहास पुनर्लेखन अवरुद्ध।
विलोपन की अनुमति देंmain ब्रांच को हटाया नहीं जा सकता।

एकल-अनुरक्षक बाधा

GitHub रिपॉज़िटरी फ़ाइलों को मानवीय समीक्षा इतिहास बनाने की अनुमति नहीं देता। इसलिए रिपॉज़िटरी अपने वर्तमान अनुरक्षक मॉडल के लिए सबसे मजबूत गैर-गतिरोधकारी ब्रांच सुरक्षा लागू करता है: एक स्वीकृत समीक्षा, पुरानी-समीक्षा रद्दीकरण, नवीनतम-पुश स्वीकृति, वार्तालाप समाधान, स्टेटस चेक, रैखिक इतिहास, और कोई ब्रांच विलोपन या force-push नहीं। जब दूसरा अनुरक्षक जुड़ता है, तो CODEOWNERS समीक्षा और दो-समीक्षक न्यूनतम अधिक मजबूत सेटिंग बन जाते हैं।

स्टेटस-चेक आवश्यकताएँ

ऊपर घोषित चार हार्ड-गेटिंग स्टेटस चेक:

  • ci — पूर्ण परीक्षण मैट्रिक्स + ruff + mypy + bandit + Trivy + समाधानित निर्भरता वृक्ष पर pip-audit
  • Scorecard — प्रति-चेक प्रतिगमन रहित OpenSSF Scorecard रन
  • CodeQLpython + actions के लिए security-extended क्वेरी पैक
  • pip-audit — समाधानित निर्भरता वृक्ष के विरुद्ध साप्ताहिक + प्रति-PR भेद्यता स्कैन

कोई भी अन्य वर्कफ़्लो स्थिति रिपोर्ट कर सकता है, परंतु उसका परिणाम मर्ज को तब तक गेट नहीं करता जब तक उसे आवश्यक-चेक सूची में पदोन्नत न किया जाए।

ऑडिट ताल

इस फ़ाइल की समीक्षा प्रत्येक सुरक्षा ऑडिट पर और प्रत्येक रिलीज़-इंजीनियरिंग चेकपॉइंट पर की जाती है। इस फ़ाइल और वास्तविक ब्रांच सुरक्षा कॉन्फ़िगरेशन के बीच विचलन एक उच्च-गंभीरता निष्कर्ष है।

संदर्भ

On this page