Switch from tox to nox
Recent tox releases have put us on a config treadmill. Avoid these issues entirely by using nox. Nox is a tox alternative that uses standard tools like pip and should be simpler to use for us. Change-Id: Ifce288808f535b5ee071dddc597ef54a6d3d03bb Depends-On: https://review.opendev.org/883664
This commit is contained in:
parent
72661fc4d8
commit
c7f4d61b82
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
.tox
|
.tox
|
||||||
|
.nox
|
||||||
build/*
|
build/*
|
||||||
*.pyc
|
*.pyc
|
||||||
jeepyb/versioninfo
|
jeepyb/versioninfo
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
check:
|
check:
|
||||||
jobs:
|
jobs:
|
||||||
- gerritlib-jeepyb-integration
|
- gerritlib-jeepyb-integration
|
||||||
- tox-pep8
|
- nox-linters
|
||||||
gate:
|
gate:
|
||||||
jobs:
|
jobs:
|
||||||
- gerritlib-jeepyb-integration
|
- gerritlib-jeepyb-integration
|
||||||
- tox-pep8
|
- nox-linters
|
||||||
|
34
noxfile.py
Normal file
34
noxfile.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
import nox
|
||||||
|
|
||||||
|
|
||||||
|
nox.options.error_on_external_run = True
|
||||||
|
nox.options.reuse_existing_virtualenvs = True
|
||||||
|
nox.options.sessions = ["linters"]
|
||||||
|
|
||||||
|
|
||||||
|
@nox.session(python="3")
|
||||||
|
def linters(session):
|
||||||
|
session.install("-r", "requirements.txt")
|
||||||
|
session.install("-r", "test-requirements.txt")
|
||||||
|
session.install(".")
|
||||||
|
session.run("flake8")
|
||||||
|
|
||||||
|
|
||||||
|
@nox.session(python="3")
|
||||||
|
def venv(session):
|
||||||
|
session.install("-r", "requirements.txt")
|
||||||
|
session.install("-r", "test-requirements.txt")
|
||||||
|
session.install(".")
|
||||||
|
session.run(*session.posargs)
|
@ -32,3 +32,10 @@ console_scripts =
|
|||||||
update-blueprint = jeepyb.cmd.update_blueprint:main
|
update-blueprint = jeepyb.cmd.update_blueprint:main
|
||||||
update-bug = jeepyb.cmd.update_bug:main
|
update-bug = jeepyb.cmd.update_bug:main
|
||||||
welcome-message = jeepyb.cmd.welcome_message:main
|
welcome-message = jeepyb.cmd.welcome_message:main
|
||||||
|
|
||||||
|
[flake8]
|
||||||
|
# E125 and H are intentionally ignored
|
||||||
|
# W503 is a mistake in flake8
|
||||||
|
ignore = E125,H,W503,W504
|
||||||
|
show-source = True
|
||||||
|
exclude = .venv,.tox,.nox,dist,doc,build,*.egg
|
||||||
|
24
tox.ini
24
tox.ini
@ -1,24 +0,0 @@
|
|||||||
[tox]
|
|
||||||
envlist = pep8
|
|
||||||
|
|
||||||
[testenv]
|
|
||||||
setenv = VIRTUAL_ENV={envdir}
|
|
||||||
deps = -r{toxinidir}/requirements.txt
|
|
||||||
-r{toxinidir}/test-requirements.txt
|
|
||||||
basepython = python3
|
|
||||||
|
|
||||||
[testenv:pep8]
|
|
||||||
commands = flake8
|
|
||||||
|
|
||||||
[testenv:pyflakes]
|
|
||||||
commands = flake8
|
|
||||||
|
|
||||||
[testenv:venv]
|
|
||||||
commands = {posargs}
|
|
||||||
|
|
||||||
[flake8]
|
|
||||||
# E125 and H are intentionally ignored
|
|
||||||
# W503 is a mistake in flake8
|
|
||||||
ignore = E125,H,W503,W504
|
|
||||||
show-source = True
|
|
||||||
exclude = .venv,.tox,dist,doc,build,*.egg
|
|
Loading…
Reference in New Issue
Block a user