Merge pull request #30 from dave-shawley/updates

Update build tools and switch to GitHub actions
This commit is contained in:
Ryan Mclean 2021-09-13 07:35:34 -04:00 committed by GitHub
commit 5712c36217
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 104 additions and 57 deletions

56
.github/workflows/testing.yml vendored Normal file
View file

@ -0,0 +1,56 @@
name: Run tests
on:
push:
branches: ["*"]
tags-ignore: ["*"]
pull_request:
branches: ["*"]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools
python -m pip install -r requires/lint.txt
- name: Flake8
run: |
flake8 sprockets tests.py
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7, 3.8, 3.9]
steps:
- uses: actions/checkout@v2
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools
python -m pip install -r requires/testing.txt
python -m pip install -e '.[msgpack]'
- name: Dump packages
run: python -m pip freeze
- name: Run tests
run: |
coverage run -m unittest tests.py
coverage report
coverage xml -o ./coverage.xml
- name: Send coverage data to codecov.io
uses: codecov/codecov-action@v1.3.2
if: github.event_name == 'push'
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
flags: unittests
fail_ci_if_error: true

View file

@ -1,4 +1,4 @@
Copyright (c) 2015-2020 AWeber Communications
Copyright (c) 2015-2021 AWeber Communications
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,

View file

@ -4,6 +4,7 @@ needs_sphinx = '1.0'
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.viewcode',
'sphinx.ext.intersphinx',
'sphinx.ext.extlinks',
'sphinxcontrib.autohttp.tornado']
master_doc = 'index'
project = 'sprockets.mixins.mediatype'
@ -32,3 +33,9 @@ intersphinx_mapping = {
'sprockets': ('https://sprockets.readthedocs.org/en/latest/', None),
'tornado': ('http://tornadoweb.org/en/latest/', None),
}
# https://www.sphinx-doc.org/en/master/usage/extensions/extlinks.html
extlinks = {
'compare': ('https://github.com/sprockets/sprockets.mixins.mediatype'
'/compare/%s', '%s')
}

View file

@ -1,59 +1,59 @@
Version History
===============
`3.0.4`_ (2 Nov 2020)
---------------------
:compare:`3.0.4 <3.0.3...3.0.4>` (2 Nov 2020)
---------------------------------------------
- Return a "400 Bad Request" when an invalid Content-Type header is received
instead of failing with an internal server error
`3.0.3`_ (14 Sep 2020)
----------------------
:compare:`3.0.3 <3.0.2...3.0.3>` (14 Sep 2020)
----------------------------------------------
- Import from collections.abc instead of collections (thanks @nullsvm)
`3.0.2`_ (4 May 2020)
---------------------
:compare:`3.0.2 <3.0.1...3.0.2>` (4 May 2020)
---------------------------------------------
- Do not log tracebacks when decoding the request body fails
`3.0.1`_ (5 Mar 2019)
---------------------
:compare:`3.0.1 <3.0.0...3.0.1>` (5 Mar 2019)
---------------------------------------------
- Set Tornado PIN to >=5, <7
- Remove setuptools_scm
`3.0.0`_ (4 Dec 2018)
---------------------
:compare:`3.0.0 <2.2.2...3.0.0>` (4 Dec 2018)
---------------------------------------------
- Add MessagePack dependencies to package extras (eg. `pip install sprockets.mixins.mediatype[msgpack]`)
- Update to minimum of ietfparse 1.5.1
- Drop support for Python < 3.7
- Drop support for Tornado < 5
- Remove deprecated :meth:`sprockets.mixins.mediatype.content.ContentSettings.from_application`.
`2.2.2`_ (7 Apr 2018)
---------------------
:compare:`2.2.2 <2.2.1...2.2.2>` (7 Apr 2018)
---------------------------------------------
- Add support for Python 3.5 through 3.7
- Add support for Tornado < 6
`2.2.1`_ (12 Apr 2018)
----------------------
:compare:`2.2.1 <2.2.0...2.2.1>` (12 Apr 2018)
----------------------------------------------
- Pin :mod:`ietfparse` to avoid breakages introduced in 1.5.0.
`2.2.0`_ (7 Jun 2017)
---------------------
:compare:`2.2.0 <2.1.0...2.2.0>` (7 Jun 2017)
---------------------------------------------
- Add :func:`sprockets.mixins.mediatype.content.install`.
- Add :func:`sprockets.mixins.mediatype.content.get_settings`.
- Deprecate :meth:`sprockets.mixins.mediatype.content.ContentSettings.from_application`.
- Update to ietfparse 1.4.
`2.1.0`_ (16 Mar 2016)
----------------------
:compare:`2.1.0 <2.0.1...2.1.0>` (16 Mar 2016)
----------------------------------------------
- Set the :http:header:`Vary` header if we are setting the content type.
`2.0.1`_ (29 Feb 2016)
----------------------
:compare:`2.0.1 <2.0.0...2.0.1>` (29 Feb 2016)
----------------------------------------------
- Removed deprecation wrapper since it seems to cause really interesting
problems including the much feared meta-class error.
`2.0.0`_ (24 Feb 2016)
----------------------
:compare:`2.0.0 <1.0.4...2.0.0>` (24 Feb 2016)
----------------------------------------------
- Repackage from a module into a package. Distributing raw modules inside
of a namespace package is unreliable and questionably correct.
- Add :func:`sprockets.mixins.mediatype.content.add_transcoder`.
@ -63,41 +63,23 @@ Version History
- Normalize registered MIME types.
- Raise a 400 status when content body decoding fails.
`1.0.4`_ (14 Sep 2015)
----------------------
:compare:`1.0.4 <1.0.3...1.0.4>` (14 Sep 2015)
----------------------------------------------
- Support using the default_content_type in the settings if request does not
contain the Accept header
`1.0.3`_ (10 Sep 2015)
----------------------
:compare:`1.0.3 <1.0.2...1.0.3>` (10 Sep 2015)
----------------------------------------------
- Update installation files
`1.0.2`_ (9 Sep 2015)
---------------------
:compare:`1.0.2 <1.0.1...1.0.2>` (9 Sep 2015)
---------------------------------------------
- Rename package to mediatype
`1.0.1`_ (9 Sep 2015)
---------------------
:compare:`1.0.1 <1.0.0...1.0.1>` (9 Sep 2015)
---------------------------------------------
- Repackaged for Travis-CI configuration.
`1.0.0`_ (9 Sep 2015)
---------------------
:compare:`1.0.0 <0.0.0...1.0.0>` (9 Sep 2015)
---------------------------------------------
- Initial Release
.. _Next Release: https://github.com/sprockets/sprockets.mixins.mediatype/compare/3.0.4...HEAD
.. _3.0.4: https://github.com/sprockets/sprockets.mixins.mediatype/compare/3.0.3...3.0.4
.. _3.0.3: https://github.com/sprockets/sprockets.mixins.mediatype/compare/3.0.2...3.0.3
.. _3.0.2: https://github.com/sprockets/sprockets.mixins.mediatype/compare/3.0.1...3.0.2
.. _3.0.1: https://github.com/sprockets/sprockets.mixins.mediatype/compare/3.0.0...3.0.1
.. _3.0.0: https://github.com/sprockets/sprockets.mixins.mediatype/compare/2.2.2...3.0.0
.. _2.2.2: https://github.com/sprockets/sprockets.mixins.mediatype/compare/2.2.1...2.2.2
.. _2.2.1: https://github.com/sprockets/sprockets.mixins.mediatype/compare/2.2.0...2.2.1
.. _2.2.0: https://github.com/sprockets/sprockets.mixins.mediatype/compare/2.1.0...2.2.0
.. _2.1.0: https://github.com/sprockets/sprockets.mixins.mediatype/compare/2.0.1...2.1.0
.. _2.0.1: https://github.com/sprockets/sprockets.mixins.mediatype/compare/2.0.0...2.0.1
.. _2.0.0: https://github.com/sprockets/sprockets.mixins.mediatype/compare/1.0.4...2.0.0
.. _1.0.4: https://github.com/sprockets/sprockets.mixins.mediatype/compare/1.0.3...1.0.4
.. _1.0.3: https://github.com/sprockets/sprockets.mixins.mediatype/compare/1.0.2...1.0.3
.. _1.0.2: https://github.com/sprockets/sprockets.mixins.mediatype/compare/1.0.1...1.0.2
.. _1.0.1: https://github.com/sprockets/sprockets.mixins.mediatype/compare/1.0.0...1.0.1
.. _1.0.0: https://github.com/sprockets/sprockets.mixins.mediatype/compare/0.0.0...1.0.0

View file

@ -1,3 +1,4 @@
-e .[msgpack]
-r docs.txt
-r lint.txt
-r testing.txt

View file

@ -1,2 +1,2 @@
sphinx==3.2.1
sphinx==4.2.0
sphinxcontrib-httpdomain==1.7.0

1
requires/lint.txt Normal file
View file

@ -0,0 +1 @@
flake8==3.9.2

View file

@ -1,3 +1,2 @@
coverage==5.3
flake8==3.8.3
tox==3.20.0
coverage==5.5
tox==3.24.3

View file

@ -9,6 +9,7 @@ warning-is-error = 1
strict = 1
[coverage:report]
fail_under = 95
show_missing = 1
[coverage:run]

View file

@ -63,7 +63,7 @@ def pack_bytes(payload):
class SendResponseTests(testing.AsyncHTTPTestCase):
def get_app(self):
return examples.make_application(debug=True)
return examples.make_application()
def test_that_content_type_default_works(self):
response = self.fetch('/', method='POST', body='{}',
@ -119,7 +119,7 @@ class GetRequestBodyTests(testing.AsyncHTTPTestCase):
super().setUp()
def get_app(self):
self.app = examples.make_application(debug=True)
self.app = examples.make_application()
return self.app
def test_that_request_with_unhandled_type_results_in_415(self):