You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
3.4 KiB

# Work
- [ ] Merge Dockerfiles
- [ ] Adjust pipeline
- [ ] Adjust trigger for ThirdParty to trigger the pipeline
- [ ] Adjust trigger for EVTK to trigger the pipeline
- [ ] Adjust trigger for HelyxVerify to trigger the pipeline
# Issues
- Build in workspace or use multi-stage Dockerfiles to build it?
- One thing that can't be done inside Docker is cloning core.
- Stage "build":
- Uses Core and ThirdParty as volumes
- Build core
# EVTK in the image
3rdParty dockerfile
```dockerfile
##
## Note: This image is the basis for the final image produced by the pipeline.
## If you need to fix the build itself, you need to check Dockerfile.jenkins.
##
FROM opensuse/leap:15.1 as base
MAINTAINER "Engys Srl" <info@engys.com>
RUN zypper --non-interactive update
RUN zypper install -y -t pattern devel_C_C++
RUN zypper install -y gcc-c++ \
which \
zlib-devel \
flex \
bison \
boost-devel \
ninja \
python3 \
python3-pip \
python3-matplotlib \
python3-numpy \
git \
strace \
gnuplot \
valgrind
RUN pip3 install -U pip
RUN pip3 install cmake
# Add the users for the image.
RUN useradd -u 1000 -U -m jenkins
COPY . /opt/engys/
COPY ./helyxTest /usr/local/bin
COPY ./helyxVerify /usr/local/bin
WORKDIR /opt/engys
```
HelyxTest dockerfile
```dockerfile
##
## This is the image used by helyxTest-docker-dev.
##
FROM opensuse/leap:15.1
MAINTAINER "Engys Srl" <info@engys.com>
# helyxTest env variables, 'cause why not?
ENV CIUSR=Jenkins
ENV CIPWD=rMo0FBGr
ENV CIROLE=admin
# Managing packages
RUN zypper --non-interactive update
# These packages are helpers and can be used for everything.
RUN zypper install -y \
tar \
git \
sudo \
bzip2 \
gzip \
tar \
which \
wget
# These packages are necessary for building helyxcore
RUN zypper install -y -t pattern devel_C_C++
RUN zypper install -y \
gcc-c++ \
gcc-fortran \
lbzip2 \
net-tools-deprecated \
fftw3-devel \
patchelf \
ninja \
hwloc-devel \
gnuplot \
valgrind \
zlib-devel \
ncurses-devel \
clang
# X11 packages
RUN zypper install -y \
fontconfig-devel \
freeglut-devel \
freetype \
freetype-devel \
glproto-devel \
libfreetype6 \
libX11-devel \
libXext-devel \
libXi-devel \
libXmu-devel \
libXrender-devel \
libXt-devel \
libXtst-devel
RUN zypper addrepo https://download.opensuse.org/repositories/openSUSE:Leap:15.1:Update/standard/openSUSE:Leap:15.1:Update.repo \
&& zypper refresh \
&& zypper install -y gcc10 gcc10-c++
# These packages are necessary for helyxTest
RUN zypper install -y \
python3 \
python3-devel \
python3-pip \
libjpeg8-devel \
python3-matplotlib
# These packages are required to run some examples
RUN zypper install -y \
gnuplot \
python3-matplotlib \
python3-numpy
# this is required by core, but the system version is too old.
RUN python3 -m pip install -U pip
RUN python3 -m pip install cmake
# Meson is required if people want to compile Mesa (part of RTPP) inside the
# Docker image.
RUN python3 -m pip install meson
RUN python3 -m pip install mako
COPY requirements.txt requirements.txt
RUN python3 -m pip install -r requirements.txt
RUN zypper install -y clang
COPY integration_testing_framework integration_testing_framework
COPY helyxTest helyxTest
COPY setup.py setup.py
COPY pyproject.toml pyproject.toml
RUN python3 setup.py install
```