Skip to content

CI/CD Pipeline Evolution: Security Hardening, Sharding, & Performance Budgets #48

Description

@fderuiter

CI/CD Pipeline Evolution: Security Hardening, Sharding, & Performance Budgets

  • Type: DevOps / CI/CD
  • Description: As this tool transitions into a comprehensive clinical research utility handling complex logic and generating "Certificates of Randomization," our CI/CD pipeline must enforce strict quality, security, and performance gates. The current GitHub Actions workflows (ci.yml, deploy.yml) and Playwright/Vitest setups need to be scaled so that developer velocity doesn't drop as test volume explodes.
  • Proposed Solution:
    • Playwright Sharding & Parallelization: As we add tests for 18+ complex UI features (Analytics, Wizards, Bulk Imports), E2E test execution time will skyrocket. Update the .github/workflows/ci.yml to shard Playwright tests across multiple parallel GitHub Action runners to enforce a strict < 5 minute pipeline execution time.
    • Security Scanning (SAST): Integrate CodeQL or a similar Static Application Security Testing tool into the PR pipeline. Because we are introducing cryptographic audit trails and dealing with randomization integrity, the pipeline must automatically fail if weak PRNGs (like unseeded Math.random) or vulnerable crypto implementations are detected in the algorithmic domain.
    • Bundle Size & Performance Budgets: With the planned addition of export libraries (like xlsx), charting tools for analytics, and crypto utilities, the application payload will bloat. Implement strict Angular bundle size budgets in angular.json and enforce them in CI to prevent regressions in Time-to-Interactive.
    • Automated Accessibility (a11y) Audits: Clinical tooling often requires strict accessibility compliance. Integrate Lighthouse CI or axe-core into the Playwright pipeline to automatically fail PRs that introduce components violating WCAG 2.1 AA standards.

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions