name: Test Cases
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
permissions:
  contents: read
jobs:
  test:
    name: Test Cases
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: ['20.x']
    steps:
      - name: Checkout Repo
        uses: actions/checkout@v4

      - name: Use Node.js ${{ matrix['node-version'] }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix['node-version'] }}
          cache: 'npm'
          cache-dependency-path: 'package-lock.json'

      - name: Install dependencies
        run: npm install

      - name: Test Cases
        run: npm run test:ci

      - name: Check Lint
        run: npm run lint

      - name: Check Build
        run: npm run dist
