Metadata ng Pag-verify
- Ruta:
/transparency/dependency-ci/ - Huling na-verify:
- Nakatakdang susunod na pagsusuri:
- Saklaw ng pag-verify: patakaran sa package ng npm, pag-uugali ng lockfile, mga daloy ng trabaho sa GitHub Actions, at dokumentasyon ng release-gate.
Patakaran sa Dependency ng npm
Gumagamit ang PayCal ng lockfile-first dependency policy para sa JavaScript tooling at mga pagsusuri sa automation ng browser.
- 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.
Para Saan Ginagamit ang npm
| Layunin | Utos | Pangunahing Kontrol |
|---|---|---|
| JavaScript lint at sink checks | npm run test:js |
ESLint rules + JS sink policy checks |
| Nagsusuri ng usok ng manunulat ng dula | npm run test:smoke:ui |
Pag-uugali ng ruta sa antas ng browser at pagpapatunay ng regression |
| Pagsusuri sa ruta ng accessibility at patakaran | npm run test:a11y:all |
WCAG, reflow, contrast, at ARIA test suite |
| Contrast matrix generation | npm run test:a11y:contrast |
Pag-verify ng contrast conformance sa antas ng tema |
Modelo ng CI/CD Gate
Pinaghihiwalay ng PayCal ang mga kontrol sa kalidad sa mga daloy ng trabaho upang tahasan at masusubaybayan ang mga pagkabigo:
.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.
Tinatrato ng mga release hygiene workflow ang mga nabigong gate bilang mga blocker at nangangailangan ng muling pagpapatakbo pagkatapos ng mga pag-aayos.
Mga Kilalang Limitasyon
- Ang mga pampublikong transparency na pahina ay manu-manong naka-synchronize sa daloy ng trabaho at mga pagbabago sa package sa mga ikot ng paglabas.
- Ang pag-uugali ng pipeline ng CI ay nakadokumento sa maraming page at maaaring mag-drift kung ang mga update ay hindi nailalapat nang tuluy-tuloy.
Nakaplanong Pagpapahusay sa Dokumentasyon
- Mag-publish ng isang canonical gate matrix na nagmamapa sa bawat CI job sa may-ari, trigger, command, at status ng pagharang.
- Magdagdag ng isang quarterly dependency governance snapshot kasama ang mga direktang npm packages, katwiran, at update cadence.
- Magdagdag ng item ng checklist ng release para kumpirmahin na mananatiling nakahanay ang mga dokumento ng pamamahala ng npm sa daloy ng trabaho at patakaran sa lockfile.
Paano I-verify
# 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.