2022-07-20 15:00:14 +02:00
|
|
|
name: Python package
|
|
|
|
|
|
|
|
on: [push]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2022-07-20 16:32:51 +02:00
|
|
|
python-version: ["3.8", "3.9", "3.10"]
|
2022-08-05 14:27:29 +02:00
|
|
|
django-version: ["32","4"]
|
2022-07-20 15:00:14 +02:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
2022-08-05 10:04:50 +02:00
|
|
|
|
2022-07-20 15:00:14 +02:00
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
|
|
uses: actions/setup-python@v4
|
|
|
|
with:
|
|
|
|
python-version: ${{ matrix.python-version }}
|
2022-08-05 10:04:50 +02:00
|
|
|
|
|
|
|
- uses: actions/cache@v2
|
|
|
|
with:
|
|
|
|
path: ~/.cache/pip
|
2022-08-05 14:27:29 +02:00
|
|
|
key: ${{ hashFiles('requirements.txt') }}-${{ hashFiles('requirements-testing.txt')}}-${{ hashFiles('tox.ini') }}-${{ matrix.python-version }}-${{ matrix.django-version }}
|
2022-08-05 10:04:50 +02:00
|
|
|
|
2022-07-20 15:00:14 +02:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
python -m pip install --upgrade pip
|
2022-08-05 14:27:29 +02:00
|
|
|
pip install -r requirements.txt -r requirements-testing.txt -c constraints-Django${{ matrix.django-version }}.txt
|
2022-08-05 10:04:50 +02:00
|
|
|
|
2022-07-22 01:11:31 +02:00
|
|
|
- name: Format style check with 'autopep8'
|
2022-07-22 01:06:42 +02:00
|
|
|
run: |
|
|
|
|
pip install autopep8
|
|
|
|
autopep8 --exit-code --global-config .flake8 helpdesk
|
2022-08-05 10:04:50 +02:00
|
|
|
|
|
|
|
- name: Lint with 'flake8'
|
2022-07-22 01:23:50 +02:00
|
|
|
run: |
|
|
|
|
pip install flake8
|
2022-07-20 15:00:14 +02:00
|
|
|
# stop the build if there are Python syntax errors or undefined names
|
|
|
|
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
2022-07-25 04:47:59 +02:00
|
|
|
flake8 helpdesk --count --show-source --statistics --exit-zero --max-complexity=20
|
2022-08-05 10:04:50 +02:00
|
|
|
|
2022-07-22 03:26:41 +02:00
|
|
|
- name: Sort style check with 'isort'
|
|
|
|
run: |
|
|
|
|
isort --line-length=120 --src helpdesk . --check
|
2022-08-05 10:04:50 +02:00
|
|
|
|
2022-07-20 15:00:14 +02:00
|
|
|
- name: Test with pytest
|
|
|
|
run: |
|
|
|
|
pip install pytest
|
|
|
|
cd ${GITHUB_WORKSPACE} && python quicktest.py
|
|
|
|
env:
|
|
|
|
DJANGO_SETTINGS_MODULE: helpdesk.settings
|
|
|
|
|