From 04ee2ad65817005d944a6ad8091a0521d0a776a1 Mon Sep 17 00:00:00 2001 From: David Manthey Date: Wed, 6 Nov 2019 11:25:35 -0500 Subject: [PATCH] Test with Python 3.8. This also publishes the tox-and-node docker image. --- .circleci/config.yml | 36 +++++++++++++++++++++++++++++++++++- .dockerignore | 9 +++++++++ .travis.yml | 1 + Dockerfile | 2 +- girder/setup.py | 3 ++- girder_annotation/setup.py | 3 ++- requirements-dev.txt | 3 ++- setup.py | 3 ++- sources/dummy/setup.py | 3 ++- sources/gdal/setup.py | 3 ++- sources/mapnik/setup.py | 3 ++- sources/nd2/setup.py | 3 ++- sources/ometiff/setup.py | 3 ++- sources/openjpeg/setup.py | 3 ++- sources/openslide/setup.py | 3 ++- sources/pil/setup.py | 3 ++- sources/test/setup.py | 3 ++- sources/tiff/setup.py | 3 ++- tasks/setup.py | 7 ++++++- tox.ini | 3 ++- 20 files changed, 82 insertions(+), 18 deletions(-) create mode 100644 .dockerignore diff --git a/.circleci/config.yml b/.circleci/config.yml index 6c302d268..c4c69a6af 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ executors: toxandnode: working_directory: ~/project docker: - - image: zachmullen/tox-and-node + - image: girder/tox-and-node - image: memcached - image: circleci/mongo:4.0-ram - image: rabbitmq @@ -34,6 +34,18 @@ commands: command: for i in $(seq 1 10); do [ $i -gt 1 ] && echo "retrying $i" && sleep 5; codecov --required --disable search pycov gcov --root project --file build/test/coverage/py_coverage.xml build/test/coverage/cobertura-coverage.xml && s=0 && break || s=$?; done; (exit $s) jobs: + testdocker: + machine: true + steps: + - checkout + - run: + name: Build the test docker + command: docker build --force-rm -t girder/tox-and-node --build-arg SKIP_TOX=true . + - run: + name: Publish the images to Docker Hub + command: | + echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin + docker push girder/tox-and-node:latest py27: executor: toxandnode steps: @@ -62,6 +74,13 @@ jobs: - tox: env: py37 - coverage + py38: + executor: toxandnode + steps: + - checkout + - tox: + env: py38 + - coverage lint_and_docs: executor: toxandnode steps: @@ -89,6 +108,13 @@ workflows: version: 2 ci: jobs: + - testdocker: + filters: + branches: + only: + - master + # Create a branch of this name to push to docker hub + - testdocker - py27: filters: tags: @@ -117,6 +143,13 @@ workflows: branches: ignore: - gh-pages + - py38: + filters: + tags: + only: /^v.*/ + branches: + ignore: + - gh-pages - lint_and_docs: filters: tags: @@ -130,6 +163,7 @@ workflows: - py35 - py36 - py37 + - py38 - lint_and_docs filters: tags: diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..c3476c86e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +build +test +.git +girder +girder_annotation +large_image +sources +tasks +examples diff --git a/.travis.yml b/.travis.yml index 92b32ced7..0fb95cdac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ python: - "3.5" - "3.6" - "3.7" + - "3.8" services: - mongodb - memcached diff --git a/Dockerfile b/Dockerfile index a5cd1991a..88649f9c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ FROM themattrix/tox -RUN curl -sL https://deb.nodesource.com/setup_11.x | bash - && \ +RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \ apt-get install -y nodejs bzip2 diff --git a/girder/setup.py b/girder/setup.py index a4481e174..a6dfc388c 100644 --- a/girder/setup.py +++ b/girder/setup.py @@ -37,7 +37,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'enum34>=1.1.6;python_version<"3.4"', diff --git a/girder_annotation/setup.py b/girder_annotation/setup.py index 69858d6ef..a1fd43d75 100644 --- a/girder_annotation/setup.py +++ b/girder_annotation/setup.py @@ -37,7 +37,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'jsonschema>=2.5.1', diff --git a/requirements-dev.txt b/requirements-dev.txt index 76a0c0995..26a6470cf 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,5 +1,6 @@ # Top level dependencies -girder>=3.0.4 +girder>=3.0.4 ; python_version < '3.8' +girder>=3.0.13.dev6 ; python_version >= '3.8' girder-jobs>=3.0.3 -e sources/dummy -e sources/gdal diff --git a/setup.py b/setup.py index a326e0afb..d10fd3e77 100644 --- a/setup.py +++ b/setup.py @@ -61,7 +61,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'cachetools>=3.0.0', diff --git a/sources/dummy/setup.py b/sources/dummy/setup.py index 142fd5d46..139a6f21c 100644 --- a/sources/dummy/setup.py +++ b/sources/dummy/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/sources/gdal/setup.py b/sources/gdal/setup.py index 876fa6a9e..2f7e7c0b4 100644 --- a/sources/gdal/setup.py +++ b/sources/gdal/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/sources/mapnik/setup.py b/sources/mapnik/setup.py index 8d6f21020..e9c516832 100644 --- a/sources/mapnik/setup.py +++ b/sources/mapnik/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/sources/nd2/setup.py b/sources/nd2/setup.py index 7d85f5e06..6536d59d0 100644 --- a/sources/nd2/setup.py +++ b/sources/nd2/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/sources/ometiff/setup.py b/sources/ometiff/setup.py index 1a87ecfeb..3eaca0a72 100644 --- a/sources/ometiff/setup.py +++ b/sources/ometiff/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/sources/openjpeg/setup.py b/sources/openjpeg/setup.py index 08ccbf3b0..e469ead44 100644 --- a/sources/openjpeg/setup.py +++ b/sources/openjpeg/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/sources/openslide/setup.py b/sources/openslide/setup.py index 07219cf5e..e26d4c29c 100644 --- a/sources/openslide/setup.py +++ b/sources/openslide/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/sources/pil/setup.py b/sources/pil/setup.py index 03d100b0d..456de3d31 100644 --- a/sources/pil/setup.py +++ b/sources/pil/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/sources/test/setup.py b/sources/test/setup.py index dae9f96a5..2a89a6df7 100644 --- a/sources/test/setup.py +++ b/sources/test/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/sources/tiff/setup.py b/sources/tiff/setup.py index 4740ba5c0..7b6ea5f28 100644 --- a/sources/tiff/setup.py +++ b/sources/tiff/setup.py @@ -38,7 +38,8 @@ def prerelease_local_scheme(version): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7' + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], install_requires=[ 'large-image>=1.0.0', diff --git a/tasks/setup.py b/tasks/setup.py index 77a35c656..4ad60464d 100644 --- a/tasks/setup.py +++ b/tasks/setup.py @@ -36,7 +36,12 @@ def prerelease_local_scheme(version): 'License :: OSI Approved :: Apache Software License', 'Topic :: Scientific/Engineering', 'Intended Audience :: Science/Research', - 'Programming Language :: Python' + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', ], install_requires=[ 'girder-worker>=0.6.0', diff --git a/tox.ini b/tox.ini index 7581d8d01..f636f4c7f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py{27,35,36,37} + py{27,35,36,37,38} docs flake8 lintclient @@ -14,6 +14,7 @@ python = 3.5: py35 3.6: py36 3.7: py37, docs, flake8, lintclient, lintannotationclient + 3.8: py38 [testenv] install_command = pip install --upgrade --upgrade-strategy eager --find-links https://girder.github.io/large_image_wheels {opts} .[memcached] {packages}