name: main

on:
  push:
  pull_request:

jobs:
  build:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

      - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4
        with:
          node-version-file: ".tool-versions"
          cache: "npm"

      - name: Install
        run: npm ci
      - name: Build
        run: npm run build
      - name: Test
        run: npm run test
      - name: Format
        run: npm run fmtcheck
      # - 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 fmt'" \
      #             "and check in all changes" \
      #         && exit 1)