test: add color util tests #3169
Workflow file for this run
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 | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| push: | |
| branches: | |
| - main | |
| merge_group: | |
| branches: | |
| - main | |
| # cancel in-progress runs on new commits to same PR (gitub.event.number) | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.number || github.sha }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| name: π Lint project | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| # pnpm cache skipped deliberately as the project is not actually installed here | |
| - name: π Lint project | |
| run: node scripts/lint.ts | |
| types: | |
| name: πͺ Type check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: πͺ Type check | |
| run: pnpm test:types | |
| unit: | |
| name: π§ͺ Unit tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: π§ͺ Unit tests | |
| run: pnpm test:unit --project unit run --coverage | |
| test: | |
| name: π§ͺ Component tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: π Install browser | |
| run: pnpm playwright install chromium-headless-shell | |
| - name: π§ͺ Component tests | |
| run: pnpm vite test --project nuxt run --coverage | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5 | |
| env: | |
| CODECOV_TOKEN: 17b4bed9-d407-4ce2-9c10-2ccd4328a1d9 | |
| browser: | |
| name: π₯οΈ Browser tests | |
| runs-on: ubuntu-latest | |
| container: | |
| image: mcr.microsoft.com/playwright:v1.58.0-noble | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: ποΈ Build project | |
| run: pnpm build:playwright | |
| - name: π₯οΈ Test project (browser) | |
| run: pnpm test:browser:prebuilt | |
| a11y: | |
| name: βΏ Accessibility audit | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| mode: [dark, light] | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: ποΈ Build project | |
| run: NODE_ENV=test pnpm build | |
| - name: βΏ Accessibility audit (Lighthouse - ${{ matrix.mode }} mode) | |
| run: ./scripts/lighthouse-a11y.sh | |
| env: | |
| LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }} | |
| LIGHTHOUSE_COLOR_MODE: ${{ matrix.mode }} | |
| knip: | |
| name: π§Ή Unused code check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: π§Ή Check for unused code | |
| run: pnpm knip |