name: Test

on:
    workflow_dispatch:
    pull_request:
    push:
        branches:
            - main

jobs:
    check:
        runs-on: macos-12
        steps:
            - name: Checkout project
              uses: actions/checkout@v3

            - name: Install yarn dependencies
              run: |
                  yarn install

            - name: Run tests
              run: |
                  yarn test

            - name: Upload coverage reports to Codecov
              uses: codecov/codecov-action@v3
              with:
                token: ${{ secrets.CODECOV_TOKEN }}
                files: ./coverage/coverage-final.json