name: CI on: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] node-version: ["22", "23"] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Install SQLite (Ubuntu) if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev - name: Install SQLite (macOS) if: runner.os == 'macOS' run: brew install sqlite - run: npm install - name: Unit tests run: npx vitest run --reporter=verbose src/*.test.ts - name: Model tests run: npx vitest run --reporter=verbose src/models/*.test.ts env: CI: true - name: Integration tests run: npx vitest run --reporter=verbose src/integration/*.test.ts env: CI: true