Repository navigation
fix: Changelog #50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| # Validates every pull request and pushes to the default branch by building all | |
| # workspace packages and running their test suites. Browser (karma) tests run | |
| # against the Chromium that puppeteer installs, in headless no-sandbox mode. | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - name: Install (single workspace install) | |
| run: npm ci | |
| - name: Build all packages (topological order) | |
| run: npm run build | |
| - name: Test all packages | |
| run: npm run test | |
| - name: Install Playwright (chromium) for the a11y gate | |
| run: npx playwright install --with-deps chromium | |
| - name: Accessibility gate (Storybook + axe, WCAG 2.2 AA) | |
| run: npm run test:a11y | |
| - name: Keyboard-interaction gate (Storybook + Playwright) | |
| run: npm run test:keyboard | |
| security: | |
| name: Security & SBOM | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - name: Install (single workspace install) | |
| run: npm ci | |
| - name: Vulnerability scan (full, informational) | |
| shell: bash | |
| run: | | |
| echo "::group::All vulnerabilities (production + dev/build tooling)" | |
| npm audit || true | |
| echo "::endgroup::" | |
| - name: Fail on unaccepted vulnerabilities in shipped (production) deps | |
| run: npm run audit:ci | |
| - name: Generate SBOM (CycloneDX, shipped deps) | |
| run: npm run sbom | |
| - name: Upload SBOM artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: sbom | |
| path: sbom.json |