From: Vladimir Khlyunev Date: Wed, 13 Apr 2022 09:10:50 +0000 (+0400) Subject: Update tempest reporter job X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F94%2F41894%2F4;p=tools%2Fsustaining.git Update tempest reporter job Change-Id: I9e3b04ae24712382741c1329e6664cc9da2d0be5 --- diff --git a/maintenance-ci/mos/jobs/maintenance-tempest-report.yaml b/maintenance-ci/mos/jobs/maintenance-tempest-report.yaml index 1561e25..ed63c08 100644 --- a/maintenance-ci/mos/jobs/maintenance-tempest-report.yaml +++ b/maintenance-ci/mos/jobs/maintenance-tempest-report.yaml @@ -53,7 +53,7 @@ password: TESTRAIL_PASSWORD scm: - git: - url: https://github.com/dis-xcom/testrail_reporter.git + url: 'https://review.fuel-infra.org/tools/sustaining/' branches: - origin/master builders: diff --git a/maintenance-ci/mos/reporter-docker/Dockerfile b/maintenance-ci/mos/reporter-docker/Dockerfile new file mode 100644 index 0000000..a509958 --- /dev/null +++ b/maintenance-ci/mos/reporter-docker/Dockerfile @@ -0,0 +1,34 @@ +FROM ubuntu:16.04 + +LABEL rebuild="build1" + +ENV DEBIAN_FRONTEND=noninteractive \ + DEBCONF_NONINTERACTIVE_SEEN=true \ + LANG=C.UTF-8 \ + LANGUAGE=$LANG +SHELL ["/bin/bash", "-xec"] + +# Base apt config +RUN echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/docker-no-languages \ + && echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/docker-gzip-indexes \ + && echo 'APT::Get::Install-Recommends "false"; APT::Get::Install-Suggests "false";' > /etc/apt/apt.conf.d/docker-recommends \ + && apt-get update \ + && apt-get -yy upgrade \ + && apt-get install -y git python-dev python-virtualenv \ + && apt-get -y install python-pip && pip install -U "pip<21" + +WORKDIR /root + +RUN virtualenv report-venv \ + && source report-venv/bin/activate \ + && pip install -U "pip<21" \ + && pip install -U "setuptools<45.0.0" six "Jinja2==2.11.3" "prettytable==1.0.1" "pytest-runner==5.2" + +RUN source report-venv/bin/activate \ + && git clone https://github.com/dis-xcom/testrail_reporter.git \ + && cd testrail_reporter \ + && python setup.py install + +COPY run_report.sh /root/run_report.sh + +CMD /bin/bash /root/run_report.sh diff --git a/maintenance-ci/mos/reporter-docker/run_report.sh b/maintenance-ci/mos/reporter-docker/run_report.sh new file mode 100644 index 0000000..a862260 --- /dev/null +++ b/maintenance-ci/mos/reporter-docker/run_report.sh @@ -0,0 +1,8 @@ +#!/bin/bash -ex + +source report-venv/bin/activate + +report ${ARG_STR} + +deactivate + diff --git a/maintenance-ci/mos/scripts/maintenance-tempest-report.sh b/maintenance-ci/mos/scripts/maintenance-tempest-report.sh index 7297eb7..fa71d3f 100644 --- a/maintenance-ci/mos/scripts/maintenance-tempest-report.sh +++ b/maintenance-ci/mos/scripts/maintenance-tempest-report.sh @@ -44,29 +44,20 @@ if [ "${SEND_SKIPPED}" == "true" ]; then ARGS+=(--send-skipped) fi -if [ ! -f report-venv/bin/activate ]; then - rm -rf report-venv - virtualenv report-venv - source report-venv/bin/activate - pip install -U pip setuptools six # six need for workaround setup.py below - python setup.py install -else - source report-venv/bin/activate -fi - -report -v --testrail-plan-name "${TESTRAIL_PLAN_NAME?}" \ - --env-description "${SPECIFICATION?}"\ - --testrail-user "${TESTRAIL_USER?}" \ - --testrail-password "${TESTRAIL_PASSWORD?}" \ - --testrail-project "${TESTRAIL_PROJECT?}" \ - --testrail-milestone "${MILESTONE?}" \ - --testrail-suite "${TESTRAIL_SUITE?}" \ - --test-results-link "${TEST_BUILD_URL}" \ - "${ARGS[@]}" \ - "${REPORT_FILE?}" -deactivate +LOCAL_STORAGE="$(pwd)"/shared +rm -rf "${LOCAL_STORAGE}" +mkdir -p "${LOCAL_STORAGE}" +cp "${REPORT_FILE}" "${LOCAL_STORAGE}" -if [ -f "${REPORT_FILE}" ]; then - mv -f "${REPORT_FILE}" "${REPORT_FILE}.reported" +arg_str="-v --testrail-plan-name \"${TESTRAIL_PLAN_NAME?}\" --env-description \"${SPECIFICATION?}\" --testrail-user \"${TESTRAIL_USER?}\" \ + --testrail-password \"${TESTRAIL_PASSWORD?}\" --testrail-project \"${TESTRAIL_PROJECT?}\" --testrail-milestone \"${MILESTONE?}\" \ + --testrail-suite \"${TESTRAIL_SUITE?}\" --test-results-link \"${TEST_BUILD_URL}\" " +if [ ! ${#ARGS[@]} -eq 0 ] ; then + arg_str="${arg_str} \"${ARGS[*]}\" " fi +arg_str="${arg_str} \"/root/shared/${REPORT_FILE?}\" " + +IMAGE_ID=$(docker build -q maintenance-ci/mos/rally-docker) +docker run -e ARG_STR="${arg_str}" --rm -v "${LOCAL_STORAGE}":/root/shared "${IMAGE_ID}" +docker rmi "${IMAGE_ID}"