Metadati di verifica
- Itinerario:
/transparency/dependency-ci/ - Ultima verifica:
- Prossima revisione prevista:
- Ambito di verifica: Policy del pacchetto npm, comportamento del file di lock, flussi di lavoro di GitHub Actions e documentazione del gate di rilascio.
- 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.
Criteri di dipendenza npm
PayCal utilizza una politica di dipendenza incentrata sul lockfile per gli strumenti JavaScript e i controlli di automazione del 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.
A cosa serve npm
| Scopo | Comando | Controllo primario |
|---|---|---|
| Controlli JavaScript per lanugine e sink | npm run test:js |
Regole ESLint + controlli della policy sink JS |
| Controlli di fumo del drammaturgo | npm run test:smoke:ui |
Comportamento del percorso a livello di browser e convalida della regressione |
| Percorso di accessibilità e controlli delle policy | npm run test:a11y:all |
Suite di test WCAG, ridisposizione, contrasto e ARIA |
| Generazione della matrice di contrasto | npm run test:a11y:contrast |
Verifica della conformità del contrasto a livello di tema |
Modello di porta CI/CD
PayCal separa i controlli di qualità nei flussi di lavoro in modo che i guasti siano espliciti e tracciabili:
.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.
I flussi di lavoro di igiene del rilascio trattano i gate non riusciti come bloccanti e richiedono una nuova esecuzione dopo le correzioni.
Limitazioni note
- Le pagine di trasparenza pubblica vengono sincronizzate manualmente con il flusso di lavoro e le modifiche ai pacchetti nei cicli di rilascio.
- Il comportamento della pipeline CI è documentato in più pagine e può variare se gli aggiornamenti non vengono applicati in modo coerente.
Miglioramenti della documentazione pianificati
- Pubblica una matrice di gate canonica che associa ogni lavoro CI allo stato di proprietario, trigger, comando e blocco.
- Aggiungi uno snapshot trimestrale della governance delle dipendenze che include pacchetti npm diretti, logica e cadenza di aggiornamento.
- Aggiungi un elemento dell'elenco di controllo del rilascio per confermare che i documenti di governance di NPM rimangano allineati al flusso di lavoro e alla policy dei file di blocco.
Come verificare
# 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.