Verifizierungsmetadaten
- Route:
/transparency/dependency-ci/ - Zuletzt überprüft:
- Nächste Rezension fällig:
- Überprüfungsumfang: npm-Paketrichtlinie, Lockfile-Verhalten, GitHub Actions-Workflows und Release-Gate-Dokumentation.
- 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-Abhängigkeitsrichtlinie
PayCal verwendet eine Lockfile-First-Abhängigkeitsrichtlinie für JavaScript-Tools und Browser-Automatisierungsprüfungen.
- Install mode for automation:
npm cionly (frozen lockfile install). - Lockfile source of truth:
package-lock.jsonis required for deterministic CI installs. - Declared package manifest:
package.jsondefines lint, smoke, and accessibility command surfaces. - Override controls: dependency overrides are declared in
package.jsonto 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.
Wofür wird npm verwendet?
| Zweck | Befehl | Primäre Kontrolle |
|---|---|---|
| JavaScript-Lint- und Sink-Prüfungen | npm run test:js |
ESLint-Regeln + JS-Sink-Richtlinienprüfungen |
| Rauchkontrollen für Dramatiker | npm run test:smoke:ui |
Routenverhalten und Regressionsvalidierung auf Browserebene |
| Barrierefreiheitsrouten- und Richtlinienprüfungen | npm run test:a11y:all |
WCAG-, Reflow-, Kontrast- und ARIA-Testsuiten |
| Generierung einer Kontrastmatrix | npm run test:a11y:contrast |
Überprüfung der Kontrastkonformität auf Themenebene |
CI/CD-Gate-Modell
PayCal trennt die Qualitätskontrollen über alle Arbeitsabläufe hinweg, sodass Fehler eindeutig und nachvollziehbar sind:
.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.
Release-Hygiene-Workflows behandeln ausgefallene Gates als Blocker und erfordern nach Korrekturen eine erneute Ausführung.
Bekannte Einschränkungen
- Öffentliche Transparenzseiten werden manuell mit Workflow- und Paketänderungen in Release-Zyklen synchronisiert.
- Das Verhalten der CI-Pipeline wird auf mehreren Seiten dokumentiert und kann abweichen, wenn Aktualisierungen nicht konsistent angewendet werden.
Geplante Verbesserungen der Dokumentation
- Veröffentlichen Sie eine kanonische Gate-Matrix, die jeden CI-Job dem Eigentümer, Auslöser, Befehl und Blockierungsstatus zuordnet.
- Fügen Sie vierteljährlich einen Snapshot der Abhängigkeitsgovernance hinzu, einschließlich direkter NPM-Pakete, Begründung und Aktualisierungsrhythmus.
- Fügen Sie ein Release-Checklistenelement hinzu, um zu bestätigen, dass die NPM-Governance-Dokumente weiterhin mit den Workflow- und Sperrdateirichtlinien übereinstimmen.
So überprüfen Sie
# 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.