cbbb23bf9d
Replace texlive-full with the texlive packages the paper actually needs (latexmk, latex-extra, pictures for TikZ, bibtex-extra, recommended fonts), and use Ubuntu's valgrind instead of building 3.22 from source - the distro version is newer now. Cuts the image by several GB and removes the slowest step of the image build.
45 lines
961 B
Docker
45 lines
961 B
Docker
FROM ubuntu:rolling
|
|
|
|
WORKDIR /tmp
|
|
ENV HOME=/tmp
|
|
RUN chmod -R 777 /tmp
|
|
|
|
# Install apt dependencies
|
|
RUN apt-get update
|
|
RUN apt-get upgrade -y
|
|
RUN TZ=America/Los_Angeles DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
build-essential \
|
|
ccache \
|
|
clang \
|
|
cmake \
|
|
curl \
|
|
devscripts \
|
|
gcovr \
|
|
git \
|
|
latexmk \
|
|
libc6-dbg \
|
|
llvm \
|
|
mold \
|
|
ninja-build \
|
|
pre-commit \
|
|
python3-requests \
|
|
rpm \
|
|
texlive-bibtex-extra \
|
|
texlive-fonts-recommended \
|
|
texlive-latex-extra \
|
|
texlive-pictures \
|
|
valgrind \
|
|
wget \
|
|
zstd
|
|
|
|
# MinIO client, for uploading build artifacts
|
|
RUN curl -Ls "https://dl.min.io/client/mc/release/linux-$(dpkg --print-architecture)/mc" \
|
|
-o /usr/local/bin/mc && chmod +x /usr/local/bin/mc
|
|
|
|
ENV CC=clang
|
|
ENV CXX=clang++
|
|
|
|
# Try to have all the pre-commit hooks we'll need already initialized
|
|
COPY .pre-commit-config.yaml /tmp/
|
|
RUN git init && pre-commit install-hooks
|