name: CI on: push: branches: [main, master] pull_request: branches: [main, master] jobs: test: runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v4 - name: Use Node.js 22 uses: actions/setup-node@v4 with: node-version: '22' cache: npm - name: Install dependencies run: npm ci - name: Unit + RPC integration tests run: npm test - name: Engine integration (optional when Docker available) continue-on-error: true run: | if docker info >/dev/null 2>&1; then node --input-type=module -e " import Docker from 'dockerode'; const d = new Docker(); await d.ping(); const info = await d.info(); console.log('docker ok', info.ServerVersion); " else echo 'Docker not available in CI runner — skipped' fi