diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a403707..21a0985 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,3 +14,12 @@ repos: hooks: - id: flake8 additional_dependencies: [flake8-import-order, flake8-bugbear] + - repo: local + hooks: + - id: update-travis + name: Update travis job definition + description: Ensures that travis job definition are up to date. + entry: scripts/make_travisconf.py + files: '.*travis.*' + stages: [commit] + language: script diff --git a/.travis.yml b/.travis.yml index f538aeb..e12bc0c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ ] }, "cache": "pip", - "dist": "trusty", + "dist": "bionic", "git": { "submodules": false }, @@ -26,10 +26,12 @@ "python": "3.5" }, { + "dist": "trusty", "env": "BUILD=test-storage DAV_SERVER=radicale REQUIREMENTS=release ", "python": "3.5" }, { + "dist": "trusty", "env": "BUILD=test-storage DAV_SERVER=xandikos REQUIREMENTS=release ", "python": "3.5" }, @@ -38,10 +40,12 @@ "python": "3.5" }, { + "dist": "trusty", "env": "BUILD=test-storage DAV_SERVER=radicale REQUIREMENTS=minimal ", "python": "3.5" }, { + "dist": "trusty", "env": "BUILD=test-storage DAV_SERVER=xandikos REQUIREMENTS=minimal ", "python": "3.5" }, @@ -74,6 +78,54 @@ "env": "BUILD=test-storage DAV_SERVER=xandikos REQUIREMENTS=minimal ", "python": "3.6" }, + { + "env": "BUILD=test REQUIREMENTS=release", + "python": "3.7" + }, + { + "env": "BUILD=test-storage DAV_SERVER=radicale REQUIREMENTS=release ", + "python": "3.7" + }, + { + "env": "BUILD=test-storage DAV_SERVER=xandikos REQUIREMENTS=release ", + "python": "3.7" + }, + { + "env": "BUILD=test REQUIREMENTS=minimal", + "python": "3.7" + }, + { + "env": "BUILD=test-storage DAV_SERVER=radicale REQUIREMENTS=minimal ", + "python": "3.7" + }, + { + "env": "BUILD=test-storage DAV_SERVER=xandikos REQUIREMENTS=minimal ", + "python": "3.7" + }, + { + "env": "BUILD=test REQUIREMENTS=release", + "python": "3.8" + }, + { + "env": "BUILD=test-storage DAV_SERVER=radicale REQUIREMENTS=release ", + "python": "3.8" + }, + { + "env": "BUILD=test-storage DAV_SERVER=xandikos REQUIREMENTS=release ", + "python": "3.8" + }, + { + "env": "BUILD=test REQUIREMENTS=minimal", + "python": "3.8" + }, + { + "env": "BUILD=test-storage DAV_SERVER=radicale REQUIREMENTS=minimal ", + "python": "3.8" + }, + { + "env": "BUILD=test-storage DAV_SERVER=xandikos REQUIREMENTS=minimal ", + "python": "3.8" + }, { "env": "BUILD=test ETESYNC_TESTS=true REQUIREMENTS=latest", "python": "3.6" diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 200f265..24419ca 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,10 +9,21 @@ Package maintainers and users who have to manually update their installation may want to subscribe to `GitHub's tag feed `_. +Version 0.16.8 +============== + +*released 09 June 2020* + +- Support Python 3.7 and 3.8. + +This release is functionally identical to 0.16.7. +It's been tested with recent Python versions, and has been marked as supporting +them. It will also be the final release supporting Python 3.5 and 3.6. + Version 0.16.7 ============== -*released on July 19* +*released on 19 July 2018* - Fixes for Python 3.7 diff --git a/Makefile b/Makefile index 55d6322..805caf0 100644 --- a/Makefile +++ b/Makefile @@ -96,10 +96,6 @@ style: ! git grep -i syncroniz */* ! git grep -i 'text/icalendar' */* sphinx-build -W -b html ./docs/ ./docs/_build/html/ - python3 scripts/make_travisconf.py | diff -b .travis.yml - - -travis-conf: - python3 scripts/make_travisconf.py > .travis.yml install-docs: pip install -Ur docs-requirements.txt diff --git a/scripts/make_travisconf.py b/scripts/make_travisconf.py old mode 100644 new mode 100755 index 65b2876..07f4342 --- a/scripts/make_travisconf.py +++ b/scripts/make_travisconf.py @@ -1,14 +1,15 @@ +#!/usr/bin/env python + import itertools import json -import sys -python_versions = ("3.5", "3.6") +python_versions = ("3.5", "3.6", "3.7", "3.8") latest_python = "3.6" cfg = {} cfg['sudo'] = True -cfg['dist'] = 'trusty' +cfg['dist'] = 'bionic' cfg['language'] = 'python' cfg['cache'] = 'pip' @@ -57,11 +58,11 @@ for python, requirements in itertools.product( job = { 'python': python, 'env': ("BUILD=test-storage " - "DAV_SERVER={dav_server} " - "REQUIREMENTS={requirements} " - .format(dav_server=dav_server, - requirements=requirements)) + f"DAV_SERVER={dav_server} " + f"REQUIREMENTS={requirements} ") } + if python == '3.5': + job['dist'] = 'trusty' build_prs = dav_server not in ("fastmail", "davical", "icloud") if not build_prs: @@ -82,4 +83,5 @@ matrix.append({ # 'env': 'BUILD=test' # }) -json.dump(cfg, sys.stdout, sort_keys=True, indent=2) +with open('.travis.yml', 'w') as output: + json.dump(cfg, output, sort_keys=True, indent=2) diff --git a/setup.py b/setup.py index c9b986c..653be04 100644 --- a/setup.py +++ b/setup.py @@ -89,6 +89,8 @@ setup( 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'Topic :: Internet', 'Topic :: Utilities', ],