# 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" 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" # 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 ```