diff --git a/.github/workflows/coverage_comment.yaml b/.github/workflows/coverage_comment.yaml new file mode 100644 index 0000000..72b1fc4 --- /dev/null +++ b/.github/workflows/coverage_comment.yaml @@ -0,0 +1,57 @@ +name: Comment Coverage Report + +on: pull_request + +env: + REPORT_PATH: /tmp/coverage_report + +jobs: + build: + runs-on: ubuntu-22.04 + timeout-minutes: 5 + services: + postgres: + image: "postgres:16" + env: + POSTGRES_PASSWORD: postgres + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 5432:5432 + steps: + - name: Clone the code + uses: actions/checkout@v4 + + - name: Set up Python versions + uses: actions/setup-python@v5 + with: + python-version: 3.12 + cache: 'pip' + cache-dependency-path: | + pyproject.toml + requirements/*.txt + + - name: Make a virtualenv + run: python3 -m venv .venv + + - name: Install requirements + run: | + source .venv/bin/activate + pip install uv==0.1.40 + make install_python_packages + + - name: Run coverage + run: | + source .venv/bin/activate + make coverage_run + echo "## Coverage Report" > ${{ REPORT_PATH }} + COVERAGE_FORMAT=markdown make --quiet coverage_report >> ${{ REPORT_PATH }} + + - name: Comment PR with coverage report + uses: thollander/actions-comment-pull-request@v2 + with: + filePath: ${{ REPORT_PATH }} + comment_tag: pr_comment