Skip to content

Commit 23354af

Browse files
committed
build: add debian to CI pipeline
1 parent f089b81 commit 23354af

4 files changed

Lines changed: 90 additions & 2 deletions

File tree

.docker/Dockerfile.debian

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# syntax=docker/dockerfile:1
2+
ARG ARCH=amd64
3+
FROM $ARCH/debian:testing
4+
RUN apt update
5+
RUN apt upgrade -y
6+
RUN apt install -y \
7+
bash-completion \
8+
wget \
9+
curl \
10+
vim \
11+
less
12+
RUN apt install -y \
13+
gcc \
14+
g++ \
15+
gcc-12 \
16+
g++-12 \
17+
gcc-13 \
18+
g++-13 \
19+
gcc-14 \
20+
g++-14 \
21+
clang \
22+
clang-17 \
23+
clang-18 \
24+
clang-19 \
25+
git \
26+
zstd \
27+
ccache \
28+
ninja-build \
29+
cmake \
30+
make \
31+
bison \
32+
flex \
33+
ronn \
34+
fuse3 \
35+
pkg-config \
36+
binutils-dev \
37+
libacl1-dev \
38+
libarchive-dev \
39+
libbenchmark-dev \
40+
libboost-chrono-dev \
41+
libboost-context-dev \
42+
libboost-filesystem-dev \
43+
libboost-iostreams-dev \
44+
libboost-program-options-dev \
45+
libboost-regex-dev \
46+
libboost-system-dev \
47+
libboost-thread-dev \
48+
libbrotli-dev \
49+
libevent-dev \
50+
libhowardhinnant-date-dev \
51+
libjemalloc-dev \
52+
libdouble-conversion-dev \
53+
libiberty-dev \
54+
liblz4-dev \
55+
liblzma-dev \
56+
libzstd-dev \
57+
libxxhash-dev \
58+
libmagic-dev \
59+
libparallel-hashmap-dev \
60+
librange-v3-dev \
61+
libssl-dev \
62+
libunwind-dev \
63+
libdwarf-dev \
64+
libelf-dev \
65+
libfmt-dev \
66+
libfuse-dev \
67+
libfuse3-dev \
68+
libgoogle-glog-dev \
69+
libutfcpp-dev \
70+
libflac++-dev \
71+
nlohmann-json3-dev \
72+
xz-utils
73+
RUN useradd -g users -u 1000 -m mhx
74+
USER mhx
75+
ENTRYPOINT /workspace/.docker/build-linux.sh

.docker/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
IMAGE_UBUNTU="dwarfs-buildenv"
2+
IMAGE_DEBIAN="dwarfs-buildenv-debian"
23
IMAGE_ALPINE="dwarfs-buildenv-alpine"
34
IMAGE_ALPINE_RISCV="dwarfs-buildenv-alpine-riscv64"
45
IMAGE_UBUNTU2204="dwarfs-buildenv-ubuntu2204"
@@ -26,6 +27,12 @@ run:
2627
build_arm:
2728
docker build -f Dockerfile.ubuntu -t $(IMAGE_UBUNTU) --build-arg ARCH=arm64v8 .
2829

30+
build_debian:
31+
docker build -f Dockerfile.debian -t $(IMAGE_DEBIAN) .
32+
33+
run_debian:
34+
@docker run $(COMMON_RUN_OPTS) $(IMAGE_DEBIAN)
35+
2936
build_alpine:
3037
docker build -f Dockerfile.alpine -t $(IMAGE_ALPINE) .
3138

.docker/build-linux.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ CMAKE_ARGS="${CMAKE_TOOL_ARGS}"
111111
case "-$BUILD_TYPE-" in
112112
*-gcc-*)
113113
case "-$BUILD_DIST-" in
114-
*-ubuntu-*)
114+
*-ubuntu-*|*-debian-*)
115115
export CC=gcc$GCC_VERSION CXX=g++$GCC_VERSION
116116
;;
117117
esac
@@ -122,7 +122,7 @@ case "-$BUILD_TYPE-" in
122122
;;
123123
*-clang-*)
124124
case "-$BUILD_DIST-" in
125-
*-ubuntu-*|*-alpine-*)
125+
*-ubuntu-*|*-debian-*|*-alpine-*)
126126
export CC=clang$CLANG_VERSION CXX=clang++$CLANG_VERSION
127127
;;
128128
*)

.github/workflows/build.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,12 @@ jobs:
146146
dist: fedora
147147
build_type: gcc-release-shared-ninja-split
148148
include:
149+
- arch: amd64
150+
dist: debian
151+
build_type: gcc-release-make-full
152+
- arch: amd64
153+
dist: debian
154+
build_type: clang-debug-shared-ninja-split
149155
- arch: amd64
150156
dist: ubuntu
151157
build_type: clang-reldbg-shared-asan-ninja

0 commit comments

Comments
 (0)