From 036e3adc73e53df4ad221bfa96ebea3ee1cd5071 Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Thu, 29 Dec 2022 10:37:55 -0800 Subject: [PATCH] Convert zuul-registry to nox Tox v4 released and has introduced a number of compatibility problems. Nox is an alternative to nox that is much simpler and uses standard tools and zuul repos are switching to it. This change updates zuul-registry. Change-Id: I588842a0c47d0591b6dacbe28e96915e1b15819e --- .zuul.yaml | 14 ++++++++------ noxfile.py | 40 ++++++++++++++++++++++++++++++++++++++++ setup.cfg | 7 +++++++ tox.ini | 7 ------- 4 files changed, 55 insertions(+), 13 deletions(-) create mode 100644 noxfile.py diff --git a/.zuul.yaml b/.zuul.yaml index 47a21eb..9a2cce9 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -74,17 +74,19 @@ check: jobs: - zuul-registry-build-image - - tox-pep8 - - tox-py38 - - tox-py310: + - nox-linters + - nox-py38: + nodeset: ubuntu-focal + - nox-py310: nodeset: ubuntu-jammy - build-python-release gate: jobs: - zuul-registry-upload-image - - tox-pep8 - - tox-py38 - - tox-py310: + - nox-linters + - nox-py38: + nodeset: ubuntu-focal + - nox-py310: nodeset: ubuntu-jammy - build-python-release promote: diff --git a/noxfile.py b/noxfile.py new file mode 100644 index 0000000..04323b8 --- /dev/null +++ b/noxfile.py @@ -0,0 +1,40 @@ +# 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 = ["tests-3", "linters"] + + +@nox.session(python='3') +def tests(session): + session.install('-r', 'requirements.txt', + '-r', 'test-requirements.txt') + session.install('-e', '.') + session.run('stestr', 'run', '--slowest', *session.posargs) + + +@nox.session(python='3') +def linters(session): + session.install('flake8') + session.run('flake8', *session.posargs) + + +@nox.session(python='3') +def venv(session): + session.install('-r', 'requirements.txt', + '-r', 'test-requirements.txt') + session.install('-e', '.') + session.run(*session.posargs) diff --git a/setup.cfg b/setup.cfg index 95d687a..1bf94e1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -29,3 +29,10 @@ source-dir = doc/source build-dir = doc/build all_files = 1 warning-is-error = 1 + +[flake8] +# These are ignored intentionally in zuul projects; +# please don't submit patches that solely correct them or enable them. +ignore = E124,E125,E129,E252,E402,E741,H,W503,W504 +show-source = True +exclude = .venv,.tox,.nox,dist,doc,build,*.egg,node_modules diff --git a/tox.ini b/tox.ini index 3033cb1..846d931 100644 --- a/tox.ini +++ b/tox.ini @@ -20,10 +20,3 @@ commands = [testenv:venv] commands = {posargs} - -[flake8] -# These are ignored intentionally in zuul projects; -# please don't submit patches that solely correct them or enable them. -ignore = E124,E125,E129,E252,E402,E741,H,W503,W504 -show-source = True -exclude = .venv,.tox,dist,doc,build,*.egg,node_modules