Add POSIX ACL/xattr tooling (acl, attr), zstd/lz4/xxhash dev libs and build rsync 3.4.1 from source so drop-in parity tests can run inside CI. Bump all workflow/agent image references v10 -> v11.
22 lines
1.1 KiB
Docker
22 lines
1.1 KiB
Docker
FROM ubuntu:24.04
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
gcc g++ make libc6-dev cmake libzstd-dev libssl-dev git ca-certificates curl cppcheck clang-format \
|
|
python3 python3-pip python3-venv openssl openssh-client \
|
|
lcov valgrind clang libclang-rt-18-dev \
|
|
acl attr zlib1g-dev liblz4-dev libxxhash-dev && \
|
|
pip3 install --break-system-packages pytest pytest-xdist && \
|
|
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
|
|
apt-get install -y --no-install-recommends nodejs && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# rsync is used as the reference implementation for drop-in parity tests.
|
|
# Ubuntu 24.04 ships 3.2.7, so build the pinned 3.4.1 reference from source.
|
|
ARG RSYNC_VERSION=3.4.1
|
|
RUN curl -fsSL "https://download.samba.org/pub/rsync/src/rsync-${RSYNC_VERSION}.tar.gz" -o /tmp/rsync.tar.gz && \
|
|
tar -xzf /tmp/rsync.tar.gz -C /tmp && \
|
|
cd "/tmp/rsync-${RSYNC_VERSION}" && \
|
|
./configure --enable-zstd --enable-xxhash --enable-lz4 && \
|
|
make -j"$(nproc)" && \
|
|
make install && \
|
|
rm -rf "/tmp/rsync-${RSYNC_VERSION}" /tmp/rsync.tar.gz
|