--- /dev/null
+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
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}"