diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..64e119e --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,31 @@ +name: Tests + +on: + push: + branches: [0.9.1] + pull_request: + branches: [0.9.1] + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + + name: Python ${{ matrix.python-version }} + + steps: + - uses: actions/checkout@v5 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install tox tox-gh-actions + - name: Test with tox + run: tox + diff --git a/requirements.txt b/requirements.txt index 2f6bc30..f67a586 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ Click==7.0 -Django==4.2.11 +Django==5.2.12 djangorestframework==3.9.4 Jinja2==2.11.1 livereload==2.6.1 diff --git a/tox.ini b/tox.ini index 4b58b81..4e2df57 100644 --- a/tox.ini +++ b/tox.ini @@ -1,17 +1,24 @@ [tox] toxworkdir={env:TOXWORKDIR:{toxinidir}/.tox} envlist = - {py35,py36,py37}-django20 - {py35,py36,py37}-django21 - {py35,py36,py37,py38,py39}-django22 - {py36,py37,py38,py39}-django30 - {py36,py37,py38,py39}-django31 - flake8 -skip_missing_interpreters = True + py3{10,11,12}-django42 + py3{10,11,12,13,14}-django52 + py3{12,13,14}-django60 + ; Commented out because it is failing and we don't care about linting this old version correctly + ; flake8 +;skip_missing_interpreters = True [flake8] max-line-length = 120 +[gh-actions] +python = + 3.10: py310 + 3.11: py311 + 3.12: py312 + 3.13: py313 + 3.14: py314 + [testenv] commands = python ./manage.py test envdir = {toxworkdir}/venvs/{envname} @@ -20,11 +27,11 @@ setenv = PYTHONWARNINGS=once DJANGO_SETTINGS_MODULE=tests.settings deps = - django20: django>=2.0,<2.1 - django21: django>=2.1,<2.2 - django22: django>=2.2,<3 - django30: django>=3.0,<3.1 - django31: django>=3.1,<3.2 + urlman>=1.2.0 + setuptools + django42: django>=4.2,<4.3 + django52: django>=5.2,<5.3 + django60: django>=6.0,<6.1 [testenv:flake8] basepython = python3.7