name: upload-coverage

defaults:
 run:
  working-directory: .

on:
  workflow_dispatch:
  push:
    branches:
      - main

jobs:
  coverage:
    runs-on: ubuntu-latest
    # runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
        with:
          working-directory: .
      - name: Log in to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_TOKEN }}
      - name: Build containers
        run: docker compose -f docker-compose-ci.yml build playwright
      - name: Install dependencies
        run: docker compose run playwright yarn
      - name: Run tests with coverage
        run: docker compose run playwright yarn test:coverage
      - name: Upload coverage
        run: CODECOV_TOKEN=${{secrets.CODECOV_TOKEN}} . send-coverage.sh
      - name: Stop containers
        if: always()
        run: docker compose -f docker-compose-ci.yml down
