name: CI

on: pull_request

jobs:
  test:
    runs-on: ubuntu-latest

    if: "!contains(github.event.head_commit.message, '[skip ci]')"

    steps:
      - name: Check out repo
        uses: actions/checkout@v3

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 18

      - name: Installing dependencies
        run: yarn install --frozen-lockfile

      - name: Running tests
        run: yarn test

      - name: Code coverage
        uses: ArtiomTr/jest-coverage-report-action@v2
        id: coverage
        with:
          annotations: failed-tests
          package-manager: yarn
          output: report-markdown
          github_token: ${{ secrets.GITHUB_TOKEN }}
          test-script: yarn jest --silent --ci --coverage --coverageReporters="text" --coverageReporters="text-summary"

      - name: Show comments 
        uses: marocchino/sticky-pull-request-comment@v2
        with:
          message: ${{ steps.coverage.outputs.report }}
