on:
  pull_request:
    branches:
      - master
      - main
      - develop
name: ci
jobs:
  run-unit-testing:
    runs-on: ubuntu-latest
    steps:
        - name: Check out repository code
          uses: actions/checkout@v4
        - name: Install modules
          run: yarn
        - name: Run testing
          run: yarn test
  run-on-ubuntu:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node: [20, 22]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}
      - run: node --version
      - run: yarn
      - run: yarn build
      - name: coverage
        uses: codecov/codecov-action@v1
        with:
          name: actions ${{ matrix.node }}
          fail_ci_if_error: false
  typecheck:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v1
        with:
          node-version: 20
      - run: yarn
      - run: yarn build
      - run: yarn type:check
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v1
        with:
          node-version: 20
      - run: yarn
      - run: yarn lint
