04d02261e9
CI / pre-commit (push) Has been cancelled
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Has been cancelled
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Has been cancelled
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Has been cancelled
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Has been cancelled
CI / release (amd64, ubuntu-latest-amd64) (push) Has been cancelled
CI / release (arm64, ubuntu-latest-arm64) (push) Has been cancelled
CI / coverage (push) Has been cancelled
CI / build-image (amd64, ubuntu-latest-amd64) (push) Has been cancelled
CI / build-image (arm64, ubuntu-latest-arm64) (push) Has been cancelled
apt.llvm.org has no repository for the current ubuntu:rolling release, and nothing pins clang 20 - CC=clang already resolved to the distro clang. Drop the llvm.sh step along with its helper packages. docker build now runs under the buildx docker-container driver, which keeps the result in the build cache unless told otherwise, so push directly from the build instead of tagging locally.
54 lines
1.5 KiB
Docker
54 lines
1.5 KiB
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 \
|
|
libc6-dbg \
|
|
llvm \
|
|
mold \
|
|
ninja-build \
|
|
pre-commit \
|
|
python3-requests \
|
|
rpm \
|
|
texlive-full \
|
|
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
|
|
|
|
# Install recent valgrind from source
|
|
RUN curl -Ls https://sourceware.org/pub/valgrind/valgrind-3.22.0.tar.bz2 -o valgrind.tar.bz2 && \
|
|
echo "c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c valgrind.tar.bz2" > valgrind-sha.txt && \
|
|
sha256sum --quiet -c valgrind-sha.txt && \
|
|
mkdir valgrind && \
|
|
tar --strip-components 1 --no-same-owner --no-same-permissions --directory valgrind -xjf valgrind.tar.bz2 && \
|
|
cd valgrind && \
|
|
./configure --enable-only64bit --enable-lto && \
|
|
make -j`nproc` && \
|
|
make install && \
|
|
cd .. && \
|
|
rm -rf /tmp/*
|
|
|
|
# Set after building valgrind, which doesn't build with clang for some reason
|
|
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
|