Skip to content

Commit 0ead3b6

Browse files
akxhugovk
andauthored
Replace Travis CI configuration with GitHub Actions (#561)
Co-authored-by: Hugo van Kemenade <[email protected]>
1 parent 1a5f26d commit 0ead3b6

File tree

6 files changed

+108
-70
lines changed

6 files changed

+108
-70
lines changed

.github/workflows/release.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Release
2+
on:
3+
push:
4+
branches:
5+
- master
6+
tags:
7+
- '*'
8+
9+
jobs:
10+
Build:
11+
runs-on: ubuntu-22.04
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: actions/setup-python@v5
15+
with:
16+
python-version: "3"
17+
cache: pip
18+
cache-dependency-path: setup.cfg
19+
# TODO: look into using python-babel instead of requiring gettext as system dependency
20+
- run: sudo apt-get update && sudo apt-get install -y --no-install-recommends gettext
21+
- run: pip install -U build
22+
- run: python -m build
23+
- uses: actions/upload-artifact@v3
24+
with:
25+
name: dist
26+
path: dist/

.github/workflows/test.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Test
2+
on:
3+
- pull_request
4+
- push
5+
- workflow_dispatch
6+
jobs:
7+
Build:
8+
runs-on: ubuntu-22.04
9+
steps:
10+
- uses: actions/checkout@v4
11+
- uses: actions/setup-python@v5
12+
with:
13+
python-version: "3"
14+
cache: pip
15+
cache-dependency-path: setup.cfg
16+
# TODO: look into using python-babel instead of requiring gettext as system dependency
17+
- run: sudo apt-get update && sudo apt-get install -y --no-install-recommends gettext
18+
- run: pip install -U build
19+
- run: python -m build
20+
- uses: actions/upload-artifact@v3
21+
with:
22+
name: dist
23+
path: dist/
24+
Test:
25+
runs-on: ${{ matrix.os }}
26+
strategy:
27+
fail-fast: true
28+
matrix:
29+
include:
30+
- os: ubuntu-20.04
31+
python-version: "3.6"
32+
- os: ubuntu-20.04
33+
python-version: "3.7"
34+
- os: ubuntu-22.04
35+
python-version: "3.8"
36+
- os: ubuntu-22.04
37+
python-version: "3.9"
38+
- os: ubuntu-22.04
39+
python-version: "3.10"
40+
steps:
41+
- uses: actions/checkout@v4
42+
- name: "Set up Python ${{ matrix.python-version }}"
43+
uses: actions/setup-python@v5
44+
with:
45+
python-version: "${{ matrix.python-version }}"
46+
cache: pip
47+
cache-dependency-path: setup.cfg
48+
# TODO: look into using python-babel instead of requiring gettext as system dependency
49+
- run: sudo apt-get update && sudo apt-get install -y --no-install-recommends gettext
50+
# TODO: look into using python-babel instead of requiring django to be ambiently installed
51+
# so tox can build messages
52+
- run: pip install -U tox tox-gh-actions django
53+
# TODO: postgres setup and proper djangomain testing
54+
- run: python -m tox
55+
- run: |
56+
mkdir /tmp/coverage
57+
find .tox -type f -name 'coverage*xml' -exec mv '{}' /tmp/coverage ';'
58+
- uses: codecov/codecov-action@v3
59+
with:
60+
directory: /tmp/coverage

.travis.yml

Lines changed: 0 additions & 62 deletions
This file was deleted.

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
.. image:: https://travis-ci.org/jazzband/django-polymorphic.svg?branch=master
2-
:target: http://travis-ci.org/jazzband/django-polymorphic
1+
.. image:: https://github.com/jazzband/django-polymorphic/actions/workflows/test.yml/badge.svg
2+
:target: https://github.com/jazzband/django-polymorphic/actions/workflows/test.yml
33
.. image:: https://img.shields.io/pypi/v/django-polymorphic.svg
44
:target: https://pypi.python.org/pypi/django-polymorphic/
55
.. image:: https://img.shields.io/codecov/c/github/jazzband/django-polymorphic/master.svg

pyproject.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
[build-system]
2+
requires = [
3+
"setuptools",
4+
# TODO: look into using python-babel instead of requiring django at build time
5+
"django>=2.1", # for makemessages
6+
]
7+
18
[tool.isort]
29
profile = "black"
310
line_length = 99

tox.ini

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ envlist =
33
py36-django{22,30,31}
44
py37-django{22,30,31}
55
py38-django{22,30,31,32}
6-
py39-django{40}
6+
py{39,310}-django{40,41,42}
7+
# TODO: reinstate running on postgres: py39-django{40}-postgres
78
docs
89

910
[testenv]
@@ -14,11 +15,12 @@ setenv =
1415
deps =
1516
coverage
1617
dj-database-url
17-
django21: Django ~= 2.1
1818
django22: Django ~= 2.2
1919
django30: Django ~= 3.0
2020
django31: Django ~= 3.1
21-
django40: Django==4.0b1
21+
django40: Django ~= 4.0
22+
django41: Django ~= 4.1
23+
django42: Django ~= 4.2
2224
djangomain: https://github.com/django/django/archive/main.tar.gz
2325
postgres: psycopg2
2426
commands =
@@ -32,6 +34,11 @@ deps =
3234
changedir = docs
3335
commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
3436

35-
[flake8]
36-
# ignore line size
37-
max-line-length = 300
37+
[gh-actions]
38+
python =
39+
3.6: py36
40+
3.7: py37
41+
3.8: py38
42+
3.9: py39
43+
3.10: py310
44+
3.11: py311

0 commit comments

Comments
 (0)