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 <dario.faccin@canonical.com>
# devops-stages/stage-build.sh
#
# devops-stages/stage-build.sh
#
ARG APT_PROXY
RUN if [ ! -z $APT_PROXY ] ; then \
ARG APT_PROXY
RUN if [ ! -z $APT_PROXY ] ; then \
debhelper \
dh-make \
git \
debhelper \
dh-make \
git \
python3-all \
python3-dev \
python3-setuptools
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
ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
-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"
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
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
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
all_path = {[vars]src_path} {[vars]tst_path} {[vars]lib_path}
[testenv]
all_path = {[vars]src_path} {[vars]tst_path} {[vars]lib_path}
[testenv]
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace
setenv =
PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
PYTHONBREAKPOINT=ipdb.set_trace