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
This commit is contained in:
Clark Boylan 2022-12-29 10:37:55 -08:00
parent c338fc970d
commit 036e3adc73
4 changed files with 55 additions and 13 deletions

View File

@ -74,17 +74,19 @@
check: check:
jobs: jobs:
- zuul-registry-build-image - zuul-registry-build-image
- tox-pep8 - nox-linters
- tox-py38 - nox-py38:
- tox-py310: nodeset: ubuntu-focal
- nox-py310:
nodeset: ubuntu-jammy nodeset: ubuntu-jammy
- build-python-release - build-python-release
gate: gate:
jobs: jobs:
- zuul-registry-upload-image - zuul-registry-upload-image
- tox-pep8 - nox-linters
- tox-py38 - nox-py38:
- tox-py310: nodeset: ubuntu-focal
- nox-py310:
nodeset: ubuntu-jammy nodeset: ubuntu-jammy
- build-python-release - build-python-release
promote: promote:

40
noxfile.py Normal file
View File

@ -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)

View File

@ -29,3 +29,10 @@ source-dir = doc/source
build-dir = doc/build build-dir = doc/build
all_files = 1 all_files = 1
warning-is-error = 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

View File

@ -20,10 +20,3 @@ commands =
[testenv:venv] [testenv:venv]
commands = {posargs} 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