--- name: CI "on": push: branches: [main] pull_request: permissions: contents: read concurrency: group: ci-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: windows: runs-on: windows-latest timeout-minutes: 30 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22.19.0 cache: npm cache-dependency-path: | pi/package-lock.json pi-web/package-lock.json - run: npm run setup - run: npm run typecheck - run: npm run test:managed macos: strategy: matrix: os: [macos-15, macos-15-intel] runs-on: ${{ matrix.os }} timeout-minutes: 30 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22.19.0 cache: npm cache-dependency-path: | pi/package-lock.json pi-web/package-lock.json - run: npm run setup - run: npm run typecheck - run: npm run test:managed