| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- name: CI
- on:
- push:
- branches: [main]
- pull_request:
- branches: [main]
- jobs:
- test:
- runs-on: macos-latest
- strategy:
- matrix:
- node-version: [20, 22]
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- - name: Setup Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v4
- with:
- node-version: ${{ matrix.node-version }}
- cache: "npm"
- - name: Install dependencies
- run: npm ci
- - name: Run linter
- run: npm run lint
- - name: Type check
- run: npm run typecheck
- - name: Run tests with coverage
- run: npm run test:coverage
- - name: Upload coverage reports
- if: matrix.node-version == 22
- uses: codecov/codecov-action@v4
- with:
- files: ./coverage/lcov.info
- fail_ci_if_error: false
- continue-on-error: true
- - name: Build
- run: npm run build
|