mirror of
https://github.com/Hopiu/django-notifications.git
synced 2026-04-10 08:41:01 +00:00
87 lines
2.2 KiB
YAML
87 lines
2.2 KiB
YAML
# Based on
|
|
# https://pypi.org/project/tox-gh-actions/
|
|
|
|
---
|
|
name: Test the application.
|
|
|
|
on:
|
|
- push
|
|
- pull_request
|
|
|
|
jobs:
|
|
code-check:
|
|
name: Code checking
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Install poetry
|
|
run: pipx install poetry
|
|
- name: Install dependencies
|
|
run: poetry install
|
|
- name: Run Pylint
|
|
run: poetry run pylint --rcfile=pyproject.toml notifications/ sample_website/
|
|
- name: Run Bandit
|
|
run: poetry run bandit -c pyproject.toml -r notifications/
|
|
|
|
|
|
test:
|
|
name: Testing
|
|
runs-on: ubuntu-latest
|
|
needs: code-check
|
|
strategy:
|
|
matrix:
|
|
python-version: ["3.8", "3.9", "3.10", "3.11"]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Install poetry
|
|
run: pipx install poetry
|
|
- name: Install dependencies
|
|
run: poetry install
|
|
- name: Run tests
|
|
run: poetry run pytest
|
|
env:
|
|
COVERAGE_FILE: ".coverage.${{ matrix.python_version }}"
|
|
- name: Store coverage file
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: coverage
|
|
path: .coverage.${{ matrix.python_version }}
|
|
|
|
|
|
coverage:
|
|
name: Coverage
|
|
runs-on: ubuntu-latest
|
|
needs: test
|
|
permissions:
|
|
pull-requests: write
|
|
contents: write
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: actions/download-artifact@v3
|
|
id: download
|
|
with:
|
|
name: 'coverage'
|
|
|
|
- name: Coverage comment
|
|
id: coverage_comment
|
|
uses: py-cov-action/python-coverage-comment-action@v3
|
|
with:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
MERGE_COVERAGE_FILES: true
|
|
|
|
- name: Store Pull Request comment to be posted
|
|
uses: actions/upload-artifact@v3
|
|
if: steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true'
|
|
with:
|
|
name: python-coverage-comment-action
|
|
path: python-coverage-comment-action.txt
|