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
153 lines
3.4 KiB
3 months ago
|
# 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
|
||
|
```
|
||
|
|