From c550e402bf2cb68f55284b6496c8725eab984448 Mon Sep 17 00:00:00 2001 From: Charles Short Date: Tue, 31 Aug 2021 12:31:33 -0400 Subject: [PATCH] Enable py39 tox gate/test for app plugins Add support for tox testing under Debian Bullseye by enabling a python 3.9 gate and tox target for exercising plugin unit tests. Also fix the pylint gate failure. Story: 2009101 Task: 43129 Signed-off-by: Charles Short Change-Id: Iac6eb206724bccb0e6897e1877e77d4e712f71b6 --- .zuul.yaml | 20 +++++++++++++++++++ bindep.txt | 10 ++++++++++ .../k8sapp_platform/tox.ini | 19 +++++++++++++++--- 3 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 bindep.txt diff --git a/.zuul.yaml b/.zuul.yaml index e55d93d..5377977 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -5,6 +5,7 @@ - openstack-tox-linters - k8sapp-platform-tox-py27 - k8sapp-platform-tox-py36 + - k8sapp-platform-tox-py39 - k8sapp-platform-tox-flake8 - k8sapp-platform-tox-pylint - k8sapp-platform-tox-bandit @@ -13,6 +14,7 @@ - openstack-tox-linters - k8sapp-platform-tox-py27 - k8sapp-platform-tox-py36 + - k8sapp-platform-tox-py39 - k8sapp-platform-tox-flake8 - k8sapp-platform-tox-pylint - k8sapp-platform-tox-bandit @@ -54,6 +56,24 @@ tox_envlist: py36 tox_extra_args: -c python-k8sapp-platform/k8sapp_platform/tox.ini +- job: + name: k8sapp-platform-tox-py39 + parent: tox-py39 + description: | + Run py39 test for k8sapp_platform + nodeset: debian-bullseye + required-projects: + - starlingx/config + - starlingx/fault + - starlingx/update + - starlingx/utilities + files: + - python-k8sapp-platform/* + vars: + tox_envlist: py39 + python_version: 3.9 + tox_extra_args: -c python-k8sapp-platform/k8sapp_platform/tox.ini + - job: name: k8sapp-platform-tox-flake8 parent: tox diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 0000000..3ffe69f --- /dev/null +++ b/bindep.txt @@ -0,0 +1,10 @@ +# This is a cross-platform list tracking distribution packages needed for install and tests; +# see https://docs.openstack.org/infra/bindep/ for additional information. + +libffi-dev [platform:dpkg] +libldap2-dev [platform:dpkg] +libxml2-dev [platform:dpkg] +libxslt1-dev [platform:dpkg] +libsasl2-dev [platform:dpkg] +libffi-devel [platform:rpm] +python3-all-dev [platform:dpkg] diff --git a/python-k8sapp-platform/k8sapp_platform/tox.ini b/python-k8sapp-platform/k8sapp_platform/tox.ini index 56b99b8..690f563 100644 --- a/python-k8sapp-platform/k8sapp_platform/tox.ini +++ b/python-k8sapp-platform/k8sapp_platform/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = flake8,py27,py36,pylint,bandit +envlist = flake8,py27,py36,py39,pylint,bandit minversion = 1.6 # skipsdist = True #,pip-missing-reqs @@ -13,9 +13,9 @@ distshare={toxworkdir}/.tox/distshare # enabling usedevelop results in py27 develop-inst: # Exception: Versioning for this project requires either an sdist tarball, # or access to an upstream git repository. -# Note. site-packages is true and rpm-python must be yum installed on your dev machine. +# Note. site-packages is false and rpm-python must be yum installed on your dev machine. usedevelop = True -sitepackages = True +sitepackages = False # tox is silly... these need to be separated by a newline.... whitelist_externals = bash @@ -118,6 +118,19 @@ commands = stestr run {posargs} stestr slowest +[testenv:py39] +basepython = python3.9 +install_command = pip install --use-deprecated legacy-resolver \ + -v -v -v \ + -c{toxinidir}/upper-constraints.txt \ + -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/starlingx/root/raw/branch/master/build-tools/requirements/debian/upper-constraints.txt} \ + {opts} {packages} +commands = + {[testenv]commands} + stestr run {posargs} + stestr slowest + + [testenv:pep8] # testenv:flake8 clone basepython = {[testenv:flake8]basepython}