Bağımlılık ve CI/CD Yönetişimi

Bu sayfada PayCal'ın JavaScript bağımlılıklarını nasıl belirleyici tuttuğu ve CI geçitlerinin yayınlanmadan önce nasıl uygulandığı açıklanmaktadır.

Doğrulama Meta Verileri

  • Rota: /transparency/dependency-ci/
  • Son doğrulanma tarihi:
  • Bir sonraki incelemenin zamanı:
  • Doğrulama kapsamı: npm paket politikası, kilit dosyası davranışı, GitHub Eylemleri iş akışları ve sürüm kapısı belgeleri.
  • 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.

npm Bağımlılık Politikası

PayCal, JavaScript araçları ve tarayıcı otomasyon kontrolleri için dosya öncelikli bağımlılık politikasını kullanır.

  • 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 Ne İçin Kullanılır?

Amaç Komut Birincil Kontrol
JavaScript tüysüzlüğü ve havuz kontrolleri npm run test:js ESLint kuralları + JS havuz politikası kontrolleri
Oyun yazarı duman kontrolleri npm run test:smoke:ui Tarayıcı düzeyinde rota davranışı ve regresyon doğrulaması
Erişilebilirlik rotası ve politika kontrolleri npm run test:a11y:all WCAG, yeniden akış, kontrast ve ARIA test paketleri
Kontrast matrisi üretimi npm run test:a11y:contrast Tema düzeyinde kontrast uygunluğu doğrulaması

CI/CD Geçidi Modeli

PayCal, kalite kontrollerini iş akışlarına ayırır, böylece arızalar açık ve izlenebilir olur:

  • .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.

Hijyen iş akışlarını serbest bırakma, başarısız kapıları engelleyici olarak ele alır ve düzeltmelerden sonra yeniden çalıştırılmasını gerektirir.

Bilinen Sınırlamalar

  • Genel şeffaflık sayfaları, yayın döngülerindeki iş akışı ve paket değişiklikleriyle manuel olarak senkronize edilir.
  • CI işlem hattı davranışı birden fazla sayfada belgelenmiştir ve güncellemeler tutarlı bir şekilde uygulanmazsa sürüklenebilir.

Planlanan Dokümantasyon İyileştirmeleri

  • Her CI işini sahip, tetikleyici, komut ve engelleme durumuna eşleyen bir kanonik geçit matrisi yayınlayın.
  • Doğrudan npm paketleri, gerekçe ve güncelleme temposunu içeren üç aylık bir bağımlılık yönetimi anlık görüntüsü ekleyin.
  • NPM yönetişim belgelerinin iş akışı ve kilit dosyası politikasıyla uyumlu kaldığını doğrulamak için bir sürüm kontrol listesi öğesi ekleyin.

Nasıl Doğrulanır?

# 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.