name: Units tests
on: [push, pull_request]
jobs:
  checks:
    name: test
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4.1.7
    - name: Setup go
      uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32
      with:
        go-version: 1.19
    - uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a
      with:
        path: |
          ~/go/pkg/mod
          ~/.cache/go-build
        key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
        restore-keys: |
          ${{ runner.os }}-go-
    - name: Run tests
      run: go test -v -covermode=count -coverprofile=coverage.out
    - name: Convert coverage to lcov
      uses: jandelgado/gcov2lcov-action@c680c0f7c7442485f1749eb2a13e54a686e76eb5
    - name: Coveralls
      uses: coverallsapp/github-action@643bc377ffa44ace6394b2b5d0d3950076de9f63
      with:
        github-token: ${{ secrets.github_token }}
        path-to-lcov: coverage.lcov