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.
 
 

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

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

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