Metadados de verificação
- Rota:
/transparency/dependency-ci/ - Última verificação:
- Próxima revisão prevista:
- Escopo de verificação: política de pacote npm, comportamento do lockfile, fluxos de trabalho do GitHub Actions e documentação do release-gate.
- 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.
Política de Dependência npm
PayCal usa uma política de dependência lockfile-first para ferramentas JavaScript e verificações de automação do navegador.
- 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 que serve o npm
| Objetivo | Comando | Controle Primário |
|---|---|---|
| Verificações de lint e coletor de JavaScript | npm run test:js |
Regras ESLint + verificações de política de coletor JS |
| Verificações de fumaça do dramaturgo | npm run test:smoke:ui |
Comportamento de rota no nível do navegador e validação de regressão |
| Rota de acessibilidade e verificações de política | npm run test:a11y:all |
Conjuntos de testes WCAG, refluxo, contraste e ARIA |
| Geração de matriz de contraste | npm run test:a11y:contrast |
Verificação de conformidade de contraste em nível de tema |
Modelo de porta CI/CD
O PayCal separa os controles de qualidade entre os fluxos de trabalho para que as falhas sejam explícitas e rastreáveis:
.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.
Os fluxos de trabalho de higiene de liberação tratam os portões com falha como bloqueadores e exigem nova execução após as correções.
Limitações conhecidas
- As páginas de transparência pública são sincronizadas manualmente com fluxo de trabalho e alterações de pacote em ciclos de lançamento.
- O comportamento do pipeline de CI é documentado em várias páginas e pode variar se as atualizações não forem aplicadas de forma consistente.
Melhorias planejadas na documentação
- Publique uma matriz de porta canônica mapeando cada trabalho de CI para proprietário, gatilho, comando e status de bloqueio.
- Adicione um instantâneo trimestral de governança de dependência, incluindo pacotes npm diretos, justificativa e cadência de atualização.
- Adicione um item da lista de verificação de lançamento para confirmar que os documentos de governança do NPM permanecem alinhados com o fluxo de trabalho e a política de arquivo de bloqueio.
Como verificar
# 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.