build: add debian to CI pipeline

This commit is contained in:
Marcus Holland-Moritz 2025-07-17 09:40:51 +02:00 committed by mhx
parent 4a86aa4231
commit c3aea557ae
4 changed files with 90 additions and 2 deletions

75
.docker/Dockerfile.debian Normal file
View File

@ -0,0 +1,75 @@
# syntax=docker/dockerfile:1
ARG ARCH=amd64
FROM $ARCH/debian:testing
RUN apt update
RUN apt upgrade -y
RUN apt install -y \
bash-completion \
wget \
curl \
vim \
less
RUN apt install -y \
gcc \
g++ \
gcc-12 \
g++-12 \
gcc-13 \
g++-13 \
gcc-14 \
g++-14 \
clang \
clang-17 \
clang-18 \
clang-19 \
git \
zstd \
ccache \
ninja-build \
cmake \
make \
bison \
flex \
ronn \
fuse3 \
pkg-config \
binutils-dev \
libacl1-dev \
libarchive-dev \
libbenchmark-dev \
libboost-chrono-dev \
libboost-context-dev \
libboost-filesystem-dev \
libboost-iostreams-dev \
libboost-program-options-dev \
libboost-regex-dev \
libboost-system-dev \
libboost-thread-dev \
libbrotli-dev \
libevent-dev \
libhowardhinnant-date-dev \
libjemalloc-dev \
libdouble-conversion-dev \
libiberty-dev \
liblz4-dev \
liblzma-dev \
libzstd-dev \
libxxhash-dev \
libmagic-dev \
libparallel-hashmap-dev \
librange-v3-dev \
libssl-dev \
libunwind-dev \
libdwarf-dev \
libelf-dev \
libfmt-dev \
libfuse-dev \
libfuse3-dev \
libgoogle-glog-dev \
libutfcpp-dev \
libflac++-dev \
nlohmann-json3-dev \
xz-utils
RUN useradd -g users -u 1000 -m mhx
USER mhx
ENTRYPOINT /workspace/.docker/build-linux.sh

View File

@ -1,4 +1,5 @@
IMAGE_UBUNTU="dwarfs-buildenv"
IMAGE_DEBIAN="dwarfs-buildenv-debian"
IMAGE_ALPINE="dwarfs-buildenv-alpine"
IMAGE_ALPINE_RISCV="dwarfs-buildenv-alpine-riscv64"
IMAGE_UBUNTU2204="dwarfs-buildenv-ubuntu2204"
@ -26,6 +27,12 @@ run:
build_arm:
docker build -f Dockerfile.ubuntu -t $(IMAGE_UBUNTU) --build-arg ARCH=arm64v8 .
build_debian:
docker build -f Dockerfile.debian -t $(IMAGE_DEBIAN) .
run_debian:
@docker run $(COMMON_RUN_OPTS) $(IMAGE_DEBIAN)
build_alpine:
docker build -f Dockerfile.alpine -t $(IMAGE_ALPINE) .

View File

@ -111,7 +111,7 @@ CMAKE_ARGS="${CMAKE_TOOL_ARGS}"
case "-$BUILD_TYPE-" in
*-gcc-*)
case "-$BUILD_DIST-" in
*-ubuntu-*)
*-ubuntu-*|*-debian-*)
export CC=gcc$GCC_VERSION CXX=g++$GCC_VERSION
;;
esac
@ -122,7 +122,7 @@ case "-$BUILD_TYPE-" in
;;
*-clang-*)
case "-$BUILD_DIST-" in
*-ubuntu-*|*-alpine-*)
*-ubuntu-*|*-debian-*|*-alpine-*)
export CC=clang$CLANG_VERSION CXX=clang++$CLANG_VERSION
;;
*)

View File

@ -146,6 +146,12 @@ jobs:
dist: fedora
build_type: gcc-release-shared-ninja-split
include:
- arch: amd64
dist: debian
build_type: gcc-release-make-full
- arch: amd64
dist: debian
build_type: clang-debug-shared-ninja-split
- arch: amd64
dist: ubuntu
build_type: clang-reldbg-shared-asan-ninja