निर्भरता और सीआई/सीडी शासन

यह पृष्ठ बताता है कि कैसे PayCal जावास्क्रिप्ट निर्भरता को नियतात्मक रखता है और रिलीज़ से पहले CI गेट्स को कैसे लागू किया जाता है।

सत्यापन मेटाडेटा

  • मार्ग: /transparency/dependency-ci/
  • अंतिम बार सत्यापित:
  • अगली समीक्षा देय:
  • सत्यापन का दायरा: एनपीएम पैकेज नीति, लॉकफ़ाइल व्यवहार, गिटहब एक्शन वर्कफ़्लोज़, और रिलीज़-गेट दस्तावेज़ीकरण।
  • Previous version: Dependency and CI/CD Governance before the June 2026 tooling update

June 2026 CI/CD Tooling Update

This page now links to the complete CI/CD Tooling and Release Governance article. That article documents local hooks, public-health gates, release-ledger promotion, production receipts, and portability work in one place.

एनपीएम निर्भरता नीति

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

  • Install mode for automation: npm ci only (frozen lockfile install).
  • Lockfile source of truth: package-lock.json is required for deterministic CI installs.
  • Declared package manifest: package.json defines lint, smoke, and accessibility command surfaces.
  • Override controls: dependency overrides are declared in package.json to pin selected transitive risk points.

If npm ci reports a mismatch between package.json and package-lock.json, the lockfile is updated intentionally in a dedicated maintenance change before CI reruns.

एनपीएम का उपयोग किस लिए किया जाता है?

प्रयोजन आदेश प्राथमिक नियंत्रण
जावास्क्रिप्ट लिंट और सिंक जाँच npm run test:js ESLint नियम + JS सिंक नीति जाँच
नाटककार धूम्रपान की जाँच करता है npm run test:smoke:ui ब्राउज़र-स्तरीय मार्ग व्यवहार और प्रतिगमन सत्यापन
अभिगम्यता मार्ग और नीति जाँच npm run test:a11y:all WCAG, रिफ़्लो, कंट्रास्ट और ARIA परीक्षण सूट
कंट्रास्ट मैट्रिक्स पीढ़ी npm run test:a11y:contrast थीम-स्तरीय कंट्रास्ट अनुरूपता सत्यापन

सीआई/सीडी गेट मॉडल

PayCal सभी वर्कफ़्लो में गुणवत्ता नियंत्रण को अलग करता है ताकि विफलताएँ स्पष्ट और पता लगाने योग्य हों:

  • .github/workflows/javascript.yml: Node 20 + npm ci + JavaScript quality gates.
  • .github/workflows/phpunit.yml: staged backend validation from fast gate to deep verification and artifacts.
  • .github/workflows/phpstan.yml: strict static analysis with baseline-blocking policy.

रिलीज़ हाइजीन वर्कफ़्लो विफल गेटों को अवरोधक मानता है और सुधार के बाद पुन: चलाने की आवश्यकता होती है।

ज्ञात सीमाएँ

  • सार्वजनिक पारदर्शिता पृष्ठ रिलीज़ चक्रों पर वर्कफ़्लो और पैकेज परिवर्तनों के साथ मैन्युअल रूप से सिंक्रनाइज़ होते हैं।
  • सीआई पाइपलाइन व्यवहार को कई पृष्ठों में प्रलेखित किया गया है और यदि अपडेट लगातार लागू नहीं किए जाते हैं तो यह खराब हो सकता है।

नियोजित दस्तावेज़ीकरण सुधार

  • प्रत्येक सीआई जॉब को मालिक, ट्रिगर, कमांड और ब्लॉकिंग स्थिति पर मैप करते हुए एक कैनोनिकल गेट मैट्रिक्स प्रकाशित करें।
  • प्रत्यक्ष एनपीएम पैकेज, तर्क और अद्यतन ताल सहित त्रैमासिक निर्भरता शासन स्नैपशॉट जोड़ें।
  • यह पुष्टि करने के लिए कि एनपीएम गवर्नेंस दस्तावेज़ वर्कफ़्लो और लॉकफ़ाइल नीति के साथ संरेखित हैं, एक रिलीज़ चेकलिस्ट आइटम जोड़ें।

कैसे सत्यापित करें

# Reproduce JavaScript CI gates locally
npm ci
npm run test:js

# Reproduce broader release-level accessibility gate
npm run test:a11y:all

# Inspect workflow definitions
cat .github/workflows/javascript.yml
cat .github/workflows/phpunit.yml
cat .github/workflows/phpstan.yml

Related transparency pages: CI/CD Tooling and Release Governance, Testing and Validation Governance, and Verification and Governance.