Skip to content

Integrate Code Coverage to GitHub Actions #9

Integrate Code Coverage to GitHub Actions

Integrate Code Coverage to GitHub Actions #9

Workflow file for this run

# .github/workflows/ci.yml
name: CI
on:
pull_request:
push:
branches:
- "master"
jobs:
test:
name: Run tests & display coverage
runs-on: ubuntu-latest
permissions:
# Gives the action the necessary permissions for publishing new
# comments in pull requests.
pull-requests: write
# Gives the action the necessary permissions for pushing data to the
# python-coverage-comment-action branch, and for editing existing
# comments (to avoid publishing multiple comments in the same PR)
contents: write
steps:
- uses: actions/checkout@v4
- name: Build and Start Images
run: |
cp template.env .env
docker compose up -d --build
- name: Install everything, run the tests, produce the .coverage file
run: docker compose exec -T externallinks /app/bin/django_wait_for_db.sh python django_wait_for_migrations.py test
- name: Coverage comment
id: coverage_comment
uses: py-cov-action/python-coverage-comment-action@v3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Store Pull Request comment to be posted
uses: actions/upload-artifact@v4
if: steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true'
with:
# If you use a different name, update COMMENT_ARTIFACT_NAME accordingly
name: python-coverage-comment-action
# If you use a different name, update COMMENT_FILENAME accordingly
path: python-coverage-comment-action.txt