Verificatie-metagegevens
- Routebeschrijving:
/transparency/dependency-ci/ - Laatst geverifieerd:
- Volgende beoordeling gepland:
- Verificatiebereik: npm-pakketbeleid, lockfile-gedrag, GitHub Actions-workflows en release-gate-documentatie.
npm Afhankelijkheidsbeleid
PayCal gebruikt een lockfile-first-afhankelijkheidsbeleid voor JavaScript-tooling en browserautomatiseringscontroles.
- 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.
Waar wordt npm voor gebruikt
| Doel | Commando | Primaire controle |
|---|---|---|
| JavaScript-lint- en sink-controles | npm run test:js |
ESLint-regels + JS-sink-beleidscontroles |
| Toneelschrijver rookcontroles | npm run test:smoke:ui |
Routegedrag en regressievalidatie op browserniveau |
| Bereikbaarheidsroute en beleidscontroles | npm run test:a11y:all |
WCAG-, reflow-, contrast- en ARIA-testsuites |
| Contrastmatrix genereren | npm run test:a11y:contrast |
Conformiteitsverificatie op themaniveau |
CI/CD Gate-model
PayCal scheidt de kwaliteitscontroles van alle workflows, zodat fouten expliciet en traceerbaar zijn:
.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-hygiëneworkflows behandelen mislukte poorten als blokkers en moeten na reparaties opnieuw worden uitgevoerd.
Bekende beperkingen
- Openbare transparantiepagina's worden handmatig gesynchroniseerd met workflow- en pakketwijzigingen tijdens releasecycli.
- Het gedrag van de CI-pijplijn wordt op meerdere pagina's gedocumenteerd en kan afwijken als updates niet consequent worden toegepast.
Geplande documentatieverbeteringen
- Publiceer één canonieke poortmatrix waarin elke CI-taak wordt toegewezen aan de status van eigenaar, trigger, opdracht en blokkering.
- Voeg een driemaandelijkse momentopname van het afhankelijkheidsbeheer toe, inclusief directe NPM-pakketten, grondgedachte en updatecadans.
- Voeg een releasechecklist-item toe om te bevestigen dat de NPM-beheerdocumenten in lijn blijven met het workflow- en lockfile-beleid.
Hoe te verifiëren
# 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: Testing and Validation Governance and Verification and Governance.