name: Node.js CI
on:
  push:
    branches: ['main']
  pull_request:
jobs:
  build:
    name: "Fmt, Lint, & Test"
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version:
          #- 20.x
          - latest
    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
      - name: "Webi: Install 'shfmt' and 'shellcheck', and update PATH"
        run: |
          sh ./_scripts/install-ci-deps
          echo "${HOME}/.local/bin" >> $GITHUB_PATH
          echo "${HOME}/.local/opt/pwsh" >> $GITHUB_PATH
      - run: |
          git submodule init
          git submodule update
      - run: shfmt --version
      - run: shellcheck -V
      - run: node --version
      - run: npm run fmt
      - run: npm ci
      - run: npm run lint
      - env:
          GITHUB_TOKEN: ${{ github.token }}
        run: npm run test
