diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..61c4564 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,42 @@ +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