Skip to content

Commit 045b193

Browse files
committed
parent 19b9b2b
author Jawayria <[email protected]> 1607969382 +0500 committer Jawayria <[email protected]> 1608826681 +0500 Added Github Actions to replace Travis CI and dropped python 3.5 support
1 parent 19b9b2b commit 045b193

File tree

19 files changed

+140
-52
lines changed

19 files changed

+140
-52
lines changed

.github/workflows/ci.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Python CI
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
branches:
8+
- '**'
9+
10+
jobs:
11+
run_tests:
12+
name: tests
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
matrix:
16+
os: [ubuntu-20.04]
17+
python-version: ['3.8']
18+
toxenv: ['django22','quality','docs']
19+
20+
steps:
21+
- uses: actions/checkout@v1
22+
- name: setup python
23+
uses: actions/setup-python@v2
24+
with:
25+
python-version: ${{ matrix.python-version }}
26+
27+
- name: Install pip
28+
run: pip install -r requirements/pip.txt
29+
30+
- name: Install Dependencies
31+
run: pip install -r requirements/ci.txt
32+
33+
- name: Run Tests
34+
env:
35+
TOXENV: ${{ matrix.toxenv }}
36+
run: tox
37+
38+
- name: Run coverage
39+
if: matrix.python-version == '3.8' && matrix.toxenv == 'django22'
40+
uses: codecov/codecov-action@v1
41+
with:
42+
flags: unittests
43+
fail_ci_if_error: true

.github/workflows/publish_pypi.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Publish package to PyPi
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
9+
push:
10+
runs-on: ubuntu-20.04
11+
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v1
15+
- name: setup python
16+
uses: actions/setup-python@v2
17+
with:
18+
python-version: 3.8
19+
20+
- name: Install pip
21+
run: pip install -r requirements/pip.txt
22+
23+
- name: Build package
24+
run: python setup.py sdist bdist_wheel
25+
26+
- name: Publish to PyPi
27+
uses: pypa/gh-action-pypi-publish@master
28+
with:
29+
user: __token__
30+
password: ${{ PYPI_UPLOAD_TOKEN }}

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ env:
1010
cache:
1111
- pip
1212
install:
13-
- pip install -r requirements/travis.txt
13+
- pip install -r requirements/ci.txt
1414
script:
1515
- tox
1616
after_success:

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,13 @@ docs: ## generate Sphinx HTML documentation, including API docs
3939
upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
4040
upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
4141
pip install -q pip-tools
42+
pip-compile --upgrade --allow-unsafe --rebuild -o requirements/pip.txt requirements/pip.in
4243
pip-compile --rebuild --upgrade -o requirements/base.txt requirements/base.in
4344
pip-compile --rebuild --upgrade -o requirements/dev.txt requirements/dev.in requirements/quality.in
4445
pip-compile --rebuild --upgrade -o requirements/doc.txt requirements/base.in requirements/doc.in
4546
pip-compile --rebuild --upgrade -o requirements/quality.txt requirements/quality.in
4647
pip-compile --rebuild --upgrade -o requirements/test.txt requirements/base.in requirements/test.in
47-
pip-compile --rebuild --upgrade -o requirements/travis.txt requirements/travis.in
48+
pip-compile --rebuild --upgrade -o requirements/ci.txt requirements/ci.in
4849
# Let tox control the Django version for tests
4950
grep -e "^amqp==\|^anyjson==\|^billiard==\|^celery==\|^kombu==\|^click-didyoumean==\|^click-repl==\|^click==\|^prompt-toolkit==\|^vine==" requirements/base.txt > requirements/celery50.txt
5051
sed -i.tmp '/^[d|D]jango==/d' requirements/test.txt
@@ -61,6 +62,7 @@ quality: ## check coding style with pycodestyle and pylint
6162
tox -e quality
6263

6364
requirements: ## install development environment requirements
65+
pip install -qr requirements/pip.txt
6466
pip install -qr requirements/dev.txt --exists-action w
6567
pip-sync requirements/base.txt requirements/dev.txt requirements/private.* requirements/test.txt
6668

celery_utils/logged_task.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def apply_async(self, args=None, kwargs=None, **options): # pylint: disable=arg
2121
"""
2222
Emit a log statement when the task is submitted.
2323
"""
24-
result = super(LoggedTask, self).apply_async(args=args, kwargs=kwargs, **options)
24+
result = super().apply_async(args=args, kwargs=kwargs, **options)
2525
log.info('Task {}[{}] submitted with arguments {}, {}'.format(
2626
self.name,
2727
result.id,
@@ -34,12 +34,12 @@ def on_retry(self, exc, task_id, args, kwargs, einfo):
3434
"""
3535
Capture the exception that caused the task to be retried, if any.
3636
"""
37-
super(LoggedTask, self).on_retry(exc, task_id, args, kwargs, einfo)
37+
super().on_retry(exc, task_id, args, kwargs, einfo)
3838
log.warning('[{}] retried due to {}'.format(task_id, getattr(einfo, 'traceback', None)))
3939

4040
def on_failure(self, exc, task_id, args, kwargs, einfo):
4141
"""
4242
Capture the exception that caused the task to fail, if any.
4343
"""
4444
log.error('[{}] failed due to {}'.format(task_id, getattr(einfo, 'traceback', None)))
45-
super(LoggedTask, self).on_failure(exc, task_id, args, kwargs, einfo)
45+
super().on_failure(exc, task_id, args, kwargs, einfo)

celery_utils/persist_on_failure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def on_failure(self, exc, task_id, args, kwargs, einfo):
3131
# TODO: Remove ".replace(',', ''))" when python 3.5 support is dropped
3232
exc=_truncate_to_field(FailedTask, 'exc', repr(exc).replace(',', '')),
3333
)
34-
super(PersistOnFailureTask, self).on_failure(exc, task_id, args, kwargs, einfo)
34+
super().on_failure(exc, task_id, args, kwargs, einfo)
3535

3636

3737
class LoggedPersistOnFailureTask(PersistOnFailureTask, LoggedTask):

celery_utils/tasks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ def mark_resolved(task_id):
1515
If more than one record exists with the specified task id, they will all be
1616
marked resolved.
1717
"""
18-
from . import models # pylint: disable=import-outside-toplevel
18+
from . import models # pylint: disable=import-outside-toplevel
1919
models.FailedTask.objects.filter(task_id=task_id, datetime_resolved=None).update(datetime_resolved=now())

requirements/base.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ click==7.1.2 # via celery, click-didyoumean, click-plugins, click-r
1414
django-model-utils==4.1.1 # via -r requirements/base.in
1515
django==2.2.17 # via -c requirements/constraints.txt, -r requirements/base.in, django-model-utils, jsonfield2
1616
future==0.18.2 # via -r requirements/base.in
17-
jsonfield2==3.0.3 # via -c requirements/constraints.txt, -r requirements/base.in
17+
jsonfield2==4.0.0.post0 # via -r requirements/base.in
1818
kombu==5.0.2 # via celery
1919
prompt-toolkit==3.0.8 # via click-repl
2020
pytz==2020.4 # via celery, django
File renamed without changes.

requirements/travis.txt renamed to requirements/ci.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@
66
#
77
appdirs==1.4.4 # via virtualenv
88
certifi==2020.12.5 # via requests
9-
chardet==3.0.4 # via requests
10-
codecov==2.1.10 # via -r requirements/travis.in
11-
coverage==5.3 # via codecov
9+
chardet==4.0.0 # via requests
10+
codecov==2.1.11 # via -r requirements/ci.in
11+
coverage==5.3.1 # via codecov
1212
distlib==0.3.1 # via virtualenv
1313
filelock==3.0.12 # via tox, virtualenv
1414
idna==2.10 # via requests
15-
packaging==20.7 # via tox
15+
packaging==20.8 # via tox
1616
pluggy==0.13.1 # via tox
17-
py==1.9.0 # via tox
17+
py==1.10.0 # via tox
1818
pyparsing==2.4.7 # via packaging
19-
requests==2.25.0 # via codecov
19+
requests==2.25.1 # via codecov
2020
six==1.15.0 # via tox, virtualenv
2121
toml==0.10.2 # via tox
22-
tox-battery==0.6.1 # via -r requirements/travis.in
23-
tox==3.20.1 # via -r requirements/travis.in, tox-battery
22+
tox-battery==0.6.1 # via -r requirements/ci.in
23+
tox==3.20.1 # via -r requirements/ci.in, tox-battery
2424
urllib3==1.26.2 # via requests
2525
virtualenv==20.2.2 # via tox

0 commit comments

Comments
 (0)