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
|
||||
.nox
|
||||
build/*
|
||||
*.pyc
|
||||
jeepyb/versioninfo
|
||||
|
@ -2,8 +2,8 @@
|
||||
check:
|
||||
jobs:
|
||||
- gerritlib-jeepyb-integration
|
||||
- tox-pep8
|
||||
- nox-linters
|
||||
gate:
|
||||
jobs:
|
||||
- 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-bug = jeepyb.cmd.update_bug: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