python:
- 2.7
- - 3.4
- 3.5
- 3.6
+ - 3.7
addons:
postgresql: 9.6
- PW_TEST_DB_PORT=5433
- PW_TEST_DB_TYPE=postgres
- PW_TEST_DB_USER=travis
- python: 3.6
+ python: 3.7
sudo: true
before_install:
- sudo -u postgres psql -c "grant ALL on DATABASE postgres to travis WITH GRANT OPTION;"
Requirements
------------
-- Python (2.7, 3.4 - 3.6)
+- Python (2.7, 3.5 - 3.7)
-- Django (1.11 - 2.0)
+- Django (1.11 - 2.2)
- Django REST Framework (3.6 - 3.9)
^^^^^^^^^^^^^^^^^^^
To develop Python-based software you first need Python. Patchwork supports both
-Python 2.7 and Python 3.4+. One of these will be installed by default on many
+Python 2.7 and Python 3.5+. One of these will be installed by default on many
installations, though they can also be installed manually using the ``python``
or ``python3`` packages.
python-tox mysql-server libmysqlclient-dev
If you have an existing MariaDB/MySQL installation and have installed ``pip``
-already/are using Python 3.4+ then you can install all packages using ``pip``:
+already/are using Python 3.5+ then you can install all packages using ``pip``:
.. code-block:: shell
.. note::
If you installed a Python 3.x-based virtual environment package, adjust the
- executable indicated above as necessary, e.g. ``virtualenv-3.4``.
+ executable indicated above as necessary, e.g. ``virtualenv-3.7``.
Now install the packages. Patchwork provides three requirements files.
--- /dev/null
+---
+features:
+ - |
+ `Python 3.7 <https://www.python.org/downloads/release/python-370/>`_ is now
+ supported.
+upgrade:
+ - |
+ Python 3.4 is no longer supported. This is no longer supported upstream and
+ most distributions provide a newer version.
-Django==2.2.5; python_version >= '3.4'
+Django==2.2.5; python_version >= '3.5'
Django==1.11.22; python_version < '3.0' # pyup: ignore
djangorestframework==3.9.2
-django-filter==2.1.0; python_version >= '3.4'
+django-filter==2.1.0; python_version >= '3.5'
django-filter==1.1.0; python_version < '3.0' # pyup: ignore
django-debug-toolbar==1.11
django-dbbackup==3.2.0
-Django==2.2.5; python_version >= '3.4'
+Django==2.2.5; python_version >= '3.5'
Django==1.11.22; python_version < '3.0' # pyup: ignore
djangorestframework==3.9.2
-django-filter==2.1.0; python_version >= '3.4'
+django-filter==2.1.0; python_version >= '3.5'
django-filter==1.1.0; python_version < '3.0' # pyup: ignore
psycopg2-binary==2.8.2
sqlparse==0.3.0
# System
-# trusty and findutils is for python3.4; xenial is for python3.5
+# xenial is for python3.5
# TODO(stephenfin): Are curl, unzip required?
COPY tools/docker/*.list /etc/apt/sources.list.d/
RUN cd /etc/apt/sources.list.d; \
echo $(uname -m) > /tmp/arch; \
if [ $(cat /tmp/arch) != 'x86_64' ] && grep -q -v "i.86" /tmp/arch; then \
- mv trusty-ports.list trusty.list; \
mv xenial-ports.list xenial.list; \
else \
rm *-ports.list; \
apt-get install -y --no-install-recommends --allow-downgrades \
python-dev python-pip python-setuptools python-wheel \
python3.5-dev python3-pip python3-setuptools python3-wheel \
- python3.4-dev findutils=4.4.2-7 python3.6-dev \
+ python3.6-dev \
libmysqlclient-dev mysql-client curl unzip build-essential \
git postgresql-client tzdata libpq-dev
+++ /dev/null
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty main
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security main
+++ /dev/null
-deb http://archive.ubuntu.com/ubuntu/ trusty main
-deb http://archive.ubuntu.com/ubuntu/ trusty-updates main
-deb http://security.ubuntu.com/ubuntu trusty-security main
[tox]
minversion = 2.0
-envlist = pep8,docs,py{27,34}-django111,py{35,36}-django{111,20,21,22}
+envlist = pep8,docs,py{27}-django111,py{35,36,37}-django{111,20,21,22}
skipsdist = True
[testenv]
-r{toxinidir}/requirements-test.txt
django111: django>=1.11,<2.0
django111: djangorestframework>=3.6,<3.10
- django111: django-filter>=1.0,<3.0; python_version >= '3.4'
+ django111: django-filter>=1.0,<3.0; python_version >= '3.5'
django111: django-filter>=1.0,<2.0; python_version < '3.0'
django20: django>=2.0,<2.1
django21: django>=2.1,<2.2