Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Tests and PyPI publishing

on:
push:
branches:
- main
tags:
- '*'
pull_request:
workflow_dispatch:

jobs:
tests:
name: Run tests Python ${{ matrix.python }}, Django ${{ matrix.django }})
runs-on: ubuntu-latest
strategy:
matrix:
python: ['3.8', '3.9', '3.10', '3.11']
django: ['3.2', '4.1', '4.2']
exclude:
- python: '3.11'
django: '3.2'


steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}

- name: Install dependencies
run: pip install tox tox-gh-actions

- name: Run tests
run: tox
env:
PYTHON_VERSION: ${{ matrix.python }}
DJANGO: ${{ matrix.django }}

- name: Publish coverage report
uses: codecov/codecov-action@v3

type-checks:
name: Run type checks on Python ${{ matrix.python }}
runs-on: ubuntu-latest
strategy:
matrix:
python: ['3.8', '3.9', '3.10', '3.11']

steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}

- name: Install dependencies
run: pip install tox tox-gh-actions

- name: Run checks
run: tox
env:
TYPE_CHECKING: 'true'

publish:
name: Publish package to PyPI
runs-on: ubuntu-latest
needs:
- tests
- type-checks

if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')

steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Build sdist and wheel
run: |
pip install pip setuptools wheel --upgrade
python setup.py sdist bdist_wheel

- name: Publish a Python distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}

38 changes: 38 additions & 0 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Linting and code quality

on:
push:
branches:
- main
tags:
paths:
- '**.py'
- .github/workflows/code_quality.yml
pull_request:
paths:
- '**.py'
- .github/workflows/code_quality.yml
workflow_dispatch:

jobs:
linting:
name: Code-quality checks
runs-on: ubuntu-latest
strategy:
matrix:
toxenv:
- isort
- black
- flake8
- docs
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
run: pip install tox
- run: tox
env:
TOXENV: ${{ matrix.toxenv }}

51 changes: 0 additions & 51 deletions .github/workflows/tests.yaml

This file was deleted.

14 changes: 7 additions & 7 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,17 @@ def find_version(*parts):
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: Django",
"Framework :: Django :: 1.6",
"Framework :: Django :: 1.7",
"Framework :: Django :: 1.8",
"Framework :: Django :: 1.9",
"Framework :: Django :: 3.2",
"Framework :: Django :: 4.1",
"Framework :: Django :: 4.2",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Software Development :: Libraries :: Python Modules",
],
Expand Down
24 changes: 8 additions & 16 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,30 +1,22 @@
[tox]
envlist=
py27-django{16,17,18,19,110,111},
py33-django{16,17}
py35-django{18,19,110,111,20},
py36-django{111,20}
# py33-django-dev,
py{38,39,310,311}-dj{32,41,42}-docs,
py{38,39,310,311}-dj{32,41,42}-docs,
coverage,
docs,

[testenv]
deps =
django16: Django >= 1.6,<1.7
django17: Django >= 1.7,<1.8
django18: Django >= 1.8,<1.9
django19: Django >= 1.9,<1.10
django110: Django >= 1.10,<1.11
django111: Django >= 1.11,<2.0
django20: Django >= 2.0,<2.1
django-dev: https://github.com/django/django/tarball/master
dj32: Django~=3.2.0
dj41: Django~=4.1.0
dj42: Django~=4.2.0
commands=
pip install django
python runtests.py

[testenv:coverage]
basepython=python3.3
basepython=python3.8
deps=
django==1.9.4
django~=3.2.0
coverage
commands=
coverage erase
Expand Down