69ea632d3e
Change-Id: I1fd2e966863908751ab5cba685e99c1ddf07b582
108 lines
2.3 KiB
Docker
108 lines
2.3 KiB
Docker
ARG base_image="docker.io/library/centos:8"
|
|
|
|
FROM "${base_image}" as base
|
|
|
|
# Make sure Git and Python 3 are installed on your system.
|
|
RUN yum install -y git python3 rsync which
|
|
|
|
# Check your Python 3 version is greater than 3.6
|
|
RUN python3 -c 'import sys; sys.version_info >= (3, 6)'
|
|
|
|
# Ensure Pip is installed and up-to date
|
|
RUN curl https://bootstrap.pypa.io/get-pip.py | python3
|
|
|
|
# Check installed Pip version
|
|
RUN python3 -m pip --version
|
|
|
|
# Ensure basic Python packages are installed and up-to-date
|
|
RUN python3 -m pip install --upgrade setuptools wheel virtualenv tox six
|
|
|
|
# Check installed Tox version
|
|
RUN tox --version
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
FROM base as sources
|
|
|
|
# Get Tobiko source code using Git
|
|
RUN mkdir -p /src
|
|
ADD . /src/tobiko
|
|
WORKDIR /src/tobiko
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
FROM sources as bindeps
|
|
|
|
# Ensure required binary packages are installed
|
|
RUN ./tools/install-bindeps.sh
|
|
|
|
# Check bindeps are installed
|
|
CMD tox -e bindeps
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
FROM bindeps as py3
|
|
|
|
# Prepare py3 Tox virtualenv
|
|
RUN tox -e py3 --notest
|
|
|
|
# Run unit yest cases
|
|
CMD tox -e py3
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
FROM py3 as venv
|
|
|
|
# Run bash inside py3 Tox environment
|
|
CMD tox -e venv
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
FROM py3 as functional
|
|
|
|
# Run functional test cases
|
|
CMD tox -e functional
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
FROM py3 as scenario
|
|
|
|
# Run scenario test cases
|
|
CMD tox -e scenario
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
FROM py3 as neutron
|
|
|
|
# Run scenario test cases
|
|
CMD tox -e neutron
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
FROM py3 as faults
|
|
|
|
# Run faults test cases
|
|
CMD tox -e faults
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
from bindeps as infrared
|
|
|
|
# Set Python 3 as default alternative for python command
|
|
RUN alternatives --set python /usr/bin/python3
|
|
|
|
# Prepare infrared Tox virtualenv
|
|
RUN tox -e infrared --notest
|
|
|
|
# Run Tobiko InfraRed plugin
|
|
CMD tox -e infrared
|