Migrate to Python 3
This also includes a refresh of the requirements after the Python3 transition. Signed-off-by: Fabian P. Schmidt <kerel@mailbox.org>merge-requests/879/head
parent
2e906cfe31
commit
9bed67a4fd
|
@ -2,8 +2,7 @@ variables:
|
|||
GITLAB_CI_IMAGE_ALPINE: 'alpine:3.9'
|
||||
GITLAB_CI_IMAGE_DOCKER: 'docker:18.09'
|
||||
GITLAB_CI_IMAGE_NODE: 'node:12.13.1'
|
||||
GITLAB_CI_IMAGE_PYTHON2: 'python:2'
|
||||
GITLAB_CI_IMAGE_PYTHON3: 'python:3'
|
||||
GITLAB_CI_IMAGE_PYTHON: 'python:3'
|
||||
GITLAB_CI_PYPI_DOCKER_COMPOSE: 'docker-compose~=1.23.0'
|
||||
GITLAB_CI_PYPI_TOX: 'tox~=3.8.0'
|
||||
stages:
|
||||
|
@ -25,21 +24,14 @@ static_js_css:
|
|||
- network/static/lib
|
||||
static_python:
|
||||
stage: static
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON2}
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON}
|
||||
before_script:
|
||||
- pip install "$GITLAB_CI_PYPI_TOX"
|
||||
script:
|
||||
- tox -e "py2-flake8,isort,yapf,py2-pylint"
|
||||
static_python3:
|
||||
stage: static
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON3}
|
||||
before_script:
|
||||
- pip install "$GITLAB_CI_PYPI_TOX"
|
||||
script:
|
||||
- tox -e "py3-flake8,py3-pylint"
|
||||
- tox -e "flake8,isort,yapf,pylint"
|
||||
docs:
|
||||
stage: build
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON3}
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON}
|
||||
before_script:
|
||||
- pip install "$GITLAB_CI_PYPI_TOX"
|
||||
script:
|
||||
|
@ -52,18 +44,7 @@ docs:
|
|||
- docs/_build/html
|
||||
build:
|
||||
stage: build
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON2}
|
||||
script:
|
||||
- rm -rf dist
|
||||
- python setup.py sdist bdist_wheel
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
when: always
|
||||
paths:
|
||||
- dist
|
||||
build3:
|
||||
stage: build
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON3}
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON}
|
||||
script:
|
||||
- rm -rf dist
|
||||
- python setup.py sdist bdist_wheel
|
||||
|
@ -74,22 +55,13 @@ build3:
|
|||
- dist
|
||||
test:
|
||||
stage: test
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON2}
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON}
|
||||
before_script:
|
||||
- pip install "$GITLAB_CI_PYPI_TOX"
|
||||
- apt-get update
|
||||
- apt-get install -y ruby-sass
|
||||
script:
|
||||
- tox -e deps,py2-pytest
|
||||
test3:
|
||||
stage: test
|
||||
image: ${GITLAB_CI_IMAGE_PYTHON3}
|
||||
before_script:
|
||||
- pip install "$GITLAB_CI_PYPI_TOX"
|
||||
- apt-get update
|
||||
- apt-get install -y ruby-sass
|
||||
script:
|
||||
- tox -e deps,py3-pytest
|
||||
- tox -e deps,pytest
|
||||
docker:
|
||||
stage: deploy
|
||||
image: ${GITLAB_CI_IMAGE_DOCKER}
|
||||
|
|
12
.pylintrc3
12
.pylintrc3
|
@ -1,12 +0,0 @@
|
|||
[MASTER]
|
||||
ignore=_version.py,migrations
|
||||
load-plugins=pylint_django
|
||||
ignored-argument-names=args|kwargs
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
disable=
|
||||
E1121, # too-many-function-args
|
||||
R0801, # needs to remain disabled see https://github.com/PyCQA/pylint/issues/214
|
||||
R0912, # too-many-branches
|
||||
R0913, # too-many-arguments
|
||||
R0914, # too-many-locals
|
|
@ -1,4 +1,4 @@
|
|||
FROM python:2
|
||||
FROM python:3
|
||||
MAINTAINER SatNOGS project <dev@satnogs.org>
|
||||
|
||||
WORKDIR /workdir/
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.27 on 2020-01-10 19:48
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import django.contrib.auth.validators
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('users', '0003_auto_20160922_1505'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='user',
|
||||
name='username',
|
||||
field=models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username'),
|
||||
),
|
||||
]
|
|
@ -5,23 +5,20 @@
|
|||
-r requirements.txt
|
||||
|
||||
apipkg==1.5
|
||||
atomicwrites==1.3.0
|
||||
attrs==19.3.0
|
||||
coverage==5.0.1
|
||||
coverage==5.0.2
|
||||
execnet==1.7.1
|
||||
factory-boy==2.11.1
|
||||
Faker==0.8.18
|
||||
filelock==3.0.12
|
||||
funcsigs==1.0.2
|
||||
ipaddress==1.0.23
|
||||
mock==2.0.0
|
||||
packaging==19.2
|
||||
packaging==20.0
|
||||
pbr==5.4.4
|
||||
pluggy==0.13.1
|
||||
pur==5.2.2
|
||||
py==1.8.1
|
||||
pyparsing==2.4.6
|
||||
pytest==4.6.8
|
||||
pytest==5.3.2
|
||||
pytest-cov==2.6.1
|
||||
pytest-django==3.4.8
|
||||
pytest-forked==0.2
|
||||
|
|
|
@ -12,8 +12,8 @@ certifi==2019.11.28
|
|||
chardet==3.0.4
|
||||
Click==7.0
|
||||
clint==0.5.1
|
||||
configparser==4.0.2
|
||||
contextlib2==0.5.5
|
||||
defusedxml==0.6.0
|
||||
dj-database-url==0.5.0
|
||||
Django==1.11.27
|
||||
django-allauth==0.35.0
|
||||
|
@ -32,7 +32,6 @@ django-shortuuidfield==0.1.3
|
|||
djangorestframework==3.7.7
|
||||
dnspython==1.16.0
|
||||
docopt==0.6.2
|
||||
enum34==1.1.6
|
||||
ephem==3.7.7.0
|
||||
eventlet==0.25.1
|
||||
future==0.18.2
|
||||
|
@ -46,15 +45,14 @@ jsonpointer==2.0
|
|||
kombu==4.6.7
|
||||
Markdown==2.6.11
|
||||
monotonic==1.5
|
||||
more-itertools==5.0.0
|
||||
more-itertools==8.0.2
|
||||
mysqlclient==1.3.14
|
||||
oauthlib==3.1.0
|
||||
pathlib2==2.3.5
|
||||
Pillow==5.0.0
|
||||
PyJWT==1.7.1
|
||||
python-decouple==3.1
|
||||
python-dotenv==0.6.5
|
||||
python-openid==2.2.5
|
||||
python3-openid==3.1.0
|
||||
pytz==2019.3
|
||||
rcssmin==1.0.6
|
||||
redis==3.3.11
|
||||
|
@ -62,7 +60,6 @@ requests==2.22.0
|
|||
requests-oauthlib==1.3.0
|
||||
rjsmin==1.0.12
|
||||
satellitetle==0.8.1
|
||||
scandir==1.10.0
|
||||
schema==0.7.1
|
||||
sentry-sdk==0.7.14
|
||||
sgp4==1.4
|
||||
|
|
|
@ -13,7 +13,7 @@ classifiers =
|
|||
License :: OSI Approved :: GNU Affero General Public License v3
|
||||
Operating System :: POSIX :: Linux
|
||||
Programming Language :: Python
|
||||
Programming Language :: Python :: 2.7
|
||||
Programming Language :: Python :: 3
|
||||
Topic :: Communications :: Ham Radio
|
||||
Topic :: Internet :: WWW/HTTP
|
||||
Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
||||
|
|
49
tox.ini
49
tox.ini
|
@ -1,17 +1,15 @@
|
|||
[tox]
|
||||
envlist = py2-flake8,isort,yapf,py2-pylint,py-pylint-py3k,{py2,py3}-build,py2-pytest,docs
|
||||
envlist = flake8,isort,yapf,pylint,build,pytest,docs
|
||||
|
||||
[depversions]
|
||||
flake8 = 3.7.8
|
||||
isort = 4.3.18
|
||||
yapf = 0.28.0
|
||||
pylint = 1.9.5
|
||||
pylint3 = 2.3.1
|
||||
pylint_django = 0.11.1
|
||||
pylint_django3 = 2.0.11
|
||||
pylint = 2.3.1
|
||||
pylint_django = 2.0.11
|
||||
sphinx_rtd_theme = 0.4.3
|
||||
|
||||
[testenv:py2-flake8]
|
||||
[testenv:flake8]
|
||||
deps =
|
||||
flake8=={[depversions]flake8}
|
||||
skip_install = True
|
||||
|
@ -39,39 +37,16 @@ deps =
|
|||
skip_install = True
|
||||
commands = yapf -i -r .
|
||||
|
||||
[testenv:py2-pylint]
|
||||
[testenv:pylint]
|
||||
deps =
|
||||
pylint=={[depversions]pylint}
|
||||
pylint-django=={[depversions]pylint_django}
|
||||
extras = dev
|
||||
commands = pylint\
|
||||
commands = pylint \
|
||||
{envsitepackagesdir}/network \
|
||||
{envsitepackagesdir}/auth0login
|
||||
|
||||
[testenv:py2-pylint-py3k]
|
||||
deps =
|
||||
pylint=={[depversions]pylint}
|
||||
pylint-django=={[depversions]pylint_django}
|
||||
extras = dev
|
||||
commands = pylint --py3k\
|
||||
{envsitepackagesdir}/network \
|
||||
{envsitepackagesdir}/auth0login
|
||||
|
||||
[testenv:py3-pylint]
|
||||
deps =
|
||||
pylint=={[depversions]pylint3}
|
||||
pylint-django=={[depversions]pylint_django3}
|
||||
extras = dev
|
||||
commands = pylint --rcfile=.pylintrc3 \
|
||||
{envsitepackagesdir}/network \
|
||||
{envsitepackagesdir}/auth0login
|
||||
|
||||
[testenv:py2-build]
|
||||
skip_install = True
|
||||
commands =
|
||||
python setup.py sdist bdist_wheel
|
||||
|
||||
[testenv:py3-build]
|
||||
[testenv:build]
|
||||
skip_install = True
|
||||
commands =
|
||||
python setup.py sdist bdist_wheel
|
||||
|
@ -91,15 +66,7 @@ deps =
|
|||
extras = dev
|
||||
commands = pip check
|
||||
|
||||
[testenv:py2-pytest]
|
||||
install_command = python -m pip install --no-deps {opts} {packages}
|
||||
deps =
|
||||
-rrequirements-dev.txt
|
||||
usedevelop = True
|
||||
extras = dev
|
||||
commands = pytest
|
||||
|
||||
[testenv:py3-pytest]
|
||||
[testenv:pytest]
|
||||
install_command = python -m pip install --no-deps {opts} {packages}
|
||||
deps =
|
||||
-rrequirements-dev.txt
|
||||
|
|
Loading…
Reference in New Issue