name: "PR Checks" on: [pull_request, push] concurrency: # Skip intermediate builds: all builds except for builds on the `master`, `main`, or `release-*` branches # Cancel intermediate builds: only pull request builds group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }} cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} jobs: check_pr: runs-on: ubuntu-latest timeout-minutes: 60 steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 16 - name: "npm ci" run: npm ci - name: "npm run build" run: npm run build - name: "npm run test" run: npm run test - name: "check for uncommitted changes" # Ensure no changes, but ignore node_modules dir since dev/fresh ci deps installed. run: | git diff --exit-code --stat -- . ':!node_modules' \ || (echo "##[error] found changed files after build. please 'npm run build && npm run format'" \ "and check in all changes" \ && exit 1)