{"name":"github-actions-node-ci","title":"GitHub Actions Node CI","description":"A GitHub Actions workflow for Node.js that lints, type checks, tests and builds on every push and pull request, with pnpm, matrix and Postgres variants.","category":"project","updated":"2026-11-08","url":"https://sniptide.com/templates/github-actions-node-ci","files":[{"name":".github/workflows/ci.yml","language":"yaml","content":"name: CI\n\non:\n  push:\n    branches: [main]\n  pull_request:\n\n# A new push to the same branch or pull request cancels the run still in progress.\nconcurrency:\n  group: ci-${{ github.ref }}\n  cancel-in-progress: true\n\npermissions:\n  contents: read\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    timeout-minutes: 15\n    steps:\n      - uses: actions/checkout@v5\n\n      - uses: actions/setup-node@v5\n        with:\n          node-version-file: .nvmrc\n          cache: npm\n\n      - run: npm ci\n      - run: npm run lint\n      - run: npm run typecheck\n      - run: npm test\n      - run: npm run build\n"}]}