name: CI on: push: branches: [ "dev", "master", "main" ] pull_request: branches: [ "dev", "master", "main" ] jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [16.x] steps: - name: Checkout uses: actions/checkout@v4 - name: Use 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: Prettier check (if present) run: | if npx --no-install prettier --version >/dev/null 2>&1; then npx prettier --check "**/*.{ts,js,json,md,css}" || (echo "Prettier check failed" && exit 1) else echo "Prettier not installed - skipping check" fi - name: TypeScript typecheck and build run: npm run build - name: Run tests run: npm test