frappy/ci/Dockerfile
Georg Brandl d6b31222b6 new setuptools needs new importlib_metadata
Change-Id: Ie4220f7ec2c11b3dcf64c65b3ed97a3d9129af5c
2024-10-17 08:07:11 +02:00

58 lines
1.8 KiB
Docker

FROM python:3.9 AS base
ARG PYVER=python3
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install --no-install-recommends --no-install-suggests -y \
gcc \
git \
openssh-client \
make \
locales \
python3 \
python3-dev \
python3-venv python3-setuptools \
virtualenv
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
ENV LANGUAGE=C.UTF-8
# Add user jenkins to the image
RUN groupadd -g 1001 jenkins && \
useradd -m -u 1001 -g 1001 -d /home/jenkins2 -s /bin/bash jenkins && \
mkdir /home/jenkins && chown jenkins:jenkins /home/jenkins && \
echo "jenkins:jenkins" | chpasswd
USER jenkins
RUN virtualenv /home/jenkins/tools2 && \
git clone https://forge.frm2.tum.de/review/frm2/taco/tools /home/jenkins/tools2src && \
. /home/jenkins/tools2/bin/activate && \
pip install -U pip wheel setuptools && \
pip install /home/jenkins/tools2src/ && \
rm -rf /home/jenkins/tools2src
RUN virtualenv -p /usr/bin/python3 --system-site-packages /home/jenkins/secopvenv && \
git clone https://forge.frm2.tum.de/review/secop/frappy /home/jenkins/frappy && \
. /home/jenkins/secopvenv/bin/activate && \
pip install -U pip wheel setuptools importlib_metadata && \
pip install -r /home/jenkins/frappy/requirements-dev.txt -r /home/jenkins/frappy/requirements.txt pylint pytest && \
rm -rf /home/jenkins/frappy
FROM base AS docs
ARG PYVER=python3
ENV DEBIAN_FRONTEND=noninteractive
USER root
RUN apt-get update && \
apt-get install -y --no-install-suggests --no-install-recommends \
texlive-latex-extra \
texlive-latex-base \
texlive-latex-recommended \
texlive-fonts-recommended \
texlive-fonts-extra \
tex-gyre \
texlive-base \
texlive-binaries \
latexmk