ci.yml 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. name: CI
  2. on:
  3. push:
  4. branches: [main]
  5. pull_request:
  6. branches: [main]
  7. jobs:
  8. test:
  9. runs-on: ${{ matrix.os }}
  10. strategy:
  11. fail-fast: false
  12. matrix:
  13. os: [ubuntu-latest, macos-latest]
  14. node-version: ["22", "23"]
  15. steps:
  16. - uses: actions/checkout@v4
  17. - uses: actions/setup-node@v4
  18. with:
  19. node-version: ${{ matrix.node-version }}
  20. - name: Install SQLite (Ubuntu)
  21. if: runner.os == 'Linux'
  22. run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev
  23. - name: Install SQLite (macOS)
  24. if: runner.os == 'macOS'
  25. run: brew install sqlite
  26. - run: npm install
  27. - name: Unit tests
  28. run: npx vitest run --reporter=verbose src/*.test.ts
  29. - name: Model tests
  30. run: npx vitest run --reporter=verbose src/models/*.test.ts
  31. env:
  32. CI: true
  33. - name: Integration tests
  34. run: npx vitest run --reporter=verbose src/integration/*.test.ts
  35. env:
  36. CI: true