From: Dario Faccin Date: Fri, 31 Mar 2023 14:47:35 +0000 (+0200) Subject: Update Dockerfile and stage-test script to run tests for charms X-Git-Tag: release-v14.0-start~96 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=refs%2Fchanges%2F34%2F13134%2F3;p=osm%2Fdevops.git Update Dockerfile and stage-test script to run tests for charms This patch updates Dockerfile to use Ubuntu 20.04 as base for building and testing charms. This patch updates stage-test script to execute testing for charms. Tests will be executed only for charms modified by the review. This patch updates tox configuration for charms setting the python interpreter to python3.8. Change-Id: Ib9046b78d6520188cc51ac776fe60ea16479f11c Signed-off-by: Dario Faccin --- diff --git a/Dockerfile b/Dockerfile index 931da3ec..dda7a419 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,7 +24,7 @@ # devops-stages/stage-build.sh # -FROM ubuntu:18.04 +FROM ubuntu:20.04 ARG APT_PROXY RUN if [ ! -z $APT_PROXY ] ; then \ @@ -37,13 +37,13 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ debhelper \ dh-make \ git \ - python3.8 \ + python3 \ python3-all \ python3-dev \ python3-setuptools -RUN python3 -m easy_install pip==21.0.1 -RUN pip3 install tox==3.22.0 +RUN python3 -m easy_install pip==21.3.1 +RUN pip install tox==3.24.5 ENV LC_ALL C.UTF-8 ENV LANG C.UTF-8 diff --git a/devops-stages/stage-test.sh b/devops-stages/stage-test.sh index b37ca5c6..ae36ccfd 100755 --- a/devops-stages/stage-test.sh +++ b/devops-stages/stage-test.sh @@ -16,17 +16,16 @@ set -eu -if [ $(git diff --name-only origin/$GERRIT_BRANCH -- installers/charm/ |wc -l) -eq 0 ]; then - exit 0 -fi - CURRENT_DIR=`pwd` # Execute tests for charms CHARM_PATH="./installers/charm" -CHARM_NAMES="keystone prometheus grafana" +CHARM_NAMES="osm-lcm osm-mon osm-nbi osm-ng-ui osm-pol osm-ro keystone prometheus grafana vca-integrator-operator" for charm in $CHARM_NAMES; do - cd $CHARM_PATH/$charm - TOX_PARALLEL_NO_SPINNER=1 tox --parallel=auto - cd $CURRENT_DIR + if [ $(git diff --name-only "origin/${GERRIT_BRANCH}" -- "installers/charm/${charm}" | wc -l) -ne 0 ]; then + echo "Running tox for ${charm}" + cd "${CHARM_PATH}/${charm}" + TOX_PARALLEL_NO_SPINNER=1 tox -e lint,unit --parallel=auto + cd "${CURRENT_DIR}" + fi done diff --git a/installers/charm/osm-lcm/tox.ini b/installers/charm/osm-lcm/tox.ini index 62ca08b1..2d95eca6 100644 --- a/installers/charm/osm-lcm/tox.ini +++ b/installers/charm/osm-lcm/tox.ini @@ -29,6 +29,7 @@ tst_path = {toxinidir}/tests/ all_path = {[vars]src_path} {[vars]tst_path} [testenv] +basepython = python3.8 setenv = PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path} PYTHONBREAKPOINT=ipdb.set_trace diff --git a/installers/charm/osm-mon/tox.ini b/installers/charm/osm-mon/tox.ini index 96679d4b..64bab107 100644 --- a/installers/charm/osm-mon/tox.ini +++ b/installers/charm/osm-mon/tox.ini @@ -29,6 +29,7 @@ tst_path = {toxinidir}/tests/ all_path = {[vars]src_path} {[vars]tst_path} [testenv] +basepython = python3.8 setenv = PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path} PYTHONBREAKPOINT=ipdb.set_trace diff --git a/installers/charm/osm-nbi/tox.ini b/installers/charm/osm-nbi/tox.ini index ff1d6571..07ea16dc 100644 --- a/installers/charm/osm-nbi/tox.ini +++ b/installers/charm/osm-nbi/tox.ini @@ -30,6 +30,7 @@ lib_path = {toxinidir}/lib/charms/osm_nbi all_path = {[vars]src_path} {[vars]tst_path} [testenv] +basepython = python3.8 setenv = PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path} PYTHONBREAKPOINT=ipdb.set_trace diff --git a/installers/charm/osm-ng-ui/tox.ini b/installers/charm/osm-ng-ui/tox.ini index 73cbb289..8c614b8c 100644 --- a/installers/charm/osm-ng-ui/tox.ini +++ b/installers/charm/osm-ng-ui/tox.ini @@ -29,6 +29,7 @@ tst_path = {toxinidir}/tests all_path = {[vars]src_path} {[vars]tst_path} [testenv] +basepython = python3.8 setenv = PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path} PYTHONBREAKPOINT=ipdb.set_trace diff --git a/installers/charm/osm-pol/tox.ini b/installers/charm/osm-pol/tox.ini index 62ca08b1..2d95eca6 100644 --- a/installers/charm/osm-pol/tox.ini +++ b/installers/charm/osm-pol/tox.ini @@ -29,6 +29,7 @@ tst_path = {toxinidir}/tests/ all_path = {[vars]src_path} {[vars]tst_path} [testenv] +basepython = python3.8 setenv = PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path} PYTHONBREAKPOINT=ipdb.set_trace diff --git a/installers/charm/osm-ro/tox.ini b/installers/charm/osm-ro/tox.ini index 36f1061a..c6cc629a 100644 --- a/installers/charm/osm-ro/tox.ini +++ b/installers/charm/osm-ro/tox.ini @@ -30,6 +30,7 @@ lib_path = {toxinidir}/lib/charms/osm_ro all_path = {[vars]src_path} {[vars]tst_path} [testenv] +basepython = python3.8 setenv = PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path} PYTHONBREAKPOINT=ipdb.set_trace diff --git a/installers/charm/vca-integrator-operator/tox.ini b/installers/charm/vca-integrator-operator/tox.ini index ea2f1a11..e063dd4f 100644 --- a/installers/charm/vca-integrator-operator/tox.ini +++ b/installers/charm/vca-integrator-operator/tox.ini @@ -27,6 +27,7 @@ lib_path = {toxinidir}/lib/charms/osm_vca_integrator all_path = {[vars]src_path} {[vars]tst_path} {[vars]lib_path} [testenv] +basepython = python3.8 setenv = PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path} PYTHONBREAKPOINT=ipdb.set_trace