##############################################################################
# ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds
-FROM python:3.6-alpine3.9 as build
+FROM python:3.10.0b1-alpine3.13 as build
# Install dependencies
COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt
RUN apk --no-cache add --update \
+ build-base \
+ cairo \
+ cairo-dev \
+ cargo \
+ freetype-dev \
gcc \
+ gdk-pixbuf-dev \
+ gettext \
git \
- libc-dev \
- libffi \
+ jpeg-dev \
+ lcms2-dev \
libffi-dev \
- make \
- openssl-dev
+ musl-dev \
+ openjpeg-dev \
+ openssl-dev \
+ pango-dev \
+ poppler-utils \
+ postgresql-client \
+ postgresql-dev \
+ py-cffi \
+ python3-dev \
+ rust \
+ tcl-dev \
+ tiff-dev \
+ tk-dev \
+ zlib-dev
# Build binaries
WORKDIR /wheels
RUN pip3 wheel -r /wheels/requirements/pip-requirements.txt
RUN git clone https://gerrit.akraino.org/r/validation /opt/akraino/validation
+RUN wget -qO- https://github.com/DMTF/Redfish-Test-Framework/archive/master.zip | \
+ unzip -qd /opt/akraino -
+RUN wget -qO- https://github.com/DMTF/Redfish-Usecase-Checkers/archive/master.zip | \
+ unzip -qd /opt/akraino -
+
# Copy binaries in the final contaier and install robot framework
-FROM python:3.6-alpine3.9
+FROM python:3.10.0b1-alpine3.13
COPY --from=build /wheels /wheels
COPY --from=build /opt/akraino/validation /opt/akraino/validation
+COPY --from=build /opt/akraino/Redfish-Test-Framework-master /opt/akraino/Redfish-Test-Framework
+COPY --from=build /opt/akraino/Redfish-Usecase-Checkers-master /opt/akraino/Redfish-Usecase-Checkers
+
+RUN apk --no-cache add --update \
+ build-base \
+ cairo \
+ cairo-dev \
+ cargo \
+ curl \
+ freetype-dev \
+ gcc \
+ gdk-pixbuf-dev \
+ gettext \
+ git \
+ jpeg-dev \
+ lcms2-dev \
+ libffi-dev \
+ musl-dev \
+ openjpeg-dev \
+ openssl-dev \
+ pango-dev \
+ poppler-utils \
+ postgresql-client \
+ postgresql-dev \
+ py-cffi \
+ python3-dev \
+ rust \
+ tcl-dev \
+ tiff-dev \
+ tk-dev \
+ zlib-dev
RUN pip3 install -r /wheels/requirements/pip-requirements.txt \
-f /wheels && \
# Install blueval dependencies
RUN pip install -r /opt/akraino/validation/bluval/requirements.txt
-# Install curl
-RUN apk --no-cache add --update \
- curl
+# Install Redfish dependencies
+RUN pip install html-testRunner \
+ -r /opt/akraino/Redfish-Usecase-Checkers/requirements.txt
+