name: CI-check-and-unit-test

on:
  push:
    branches:
    - 'main'
    - 'release/**'
    paths-ignore:
    - 'dist/**'
  pull_request:

permissions:
  contents: read

jobs:
  check-format-and-unit-test:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout sources
      uses: actions/checkout@v4
    - uses: actions/setup-node@v4
      with:
        node-version: 20
        cache: npm
        cache-dependency-path: sources/package-lock.json

    - name: Check formatting and compile
      run: |
        npm install
        npm run check
        npm run compile
      working-directory: sources
    - name: Run unit tests
      run: |
        npm test
      working-directory: sources
