Skip to content

Commit 9d801f6

Browse files
authored
Merge pull request #6 from freeswitch/debian_trixie
[GHA] Add Debian `Trixie` build target
2 parents 65074cb + da6be14 commit 9d801f6

File tree

4 files changed

+268
-0
lines changed

4 files changed

+268
-0
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
ARG BUILDER_IMAGE=debian:trixie-20250520
2+
3+
FROM ${BUILDER_IMAGE} AS builder
4+
5+
ARG MAINTAINER_NAME="Andrey Volk"
6+
ARG MAINTAINER_EMAIL="[email protected]"
7+
8+
ARG CODENAME=trixie
9+
ARG ARCH=amd64
10+
11+
ARG BUILD_NUMBER=42
12+
ARG GIT_SHA=0000000000
13+
14+
ARG DATA_DIR=/data
15+
16+
LABEL maintainer="${MAINTAINER_NAME} <${MAINTAINER_EMAIL}>"
17+
18+
SHELL ["/bin/bash", "-c"]
19+
20+
ENV DEBIAN_FRONTEND=noninteractive
21+
22+
RUN apt-get -q update \
23+
&& apt-get -y -q install \
24+
apt-transport-https \
25+
autoconf \
26+
automake \
27+
build-essential \
28+
ca-certificates \
29+
cmake \
30+
curl \
31+
debhelper \
32+
devscripts \
33+
dh-autoreconf \
34+
dos2unix \
35+
doxygen \
36+
dpkg-dev \
37+
git \
38+
graphviz \
39+
libglib2.0-dev \
40+
libssl-dev \
41+
lsb-release \
42+
pkg-config \
43+
wget
44+
45+
RUN update-ca-certificates --fresh
46+
47+
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env \
48+
&& echo "export ARCH=${ARCH}" | tee -a ~/.env \
49+
&& chmod +x ~/.env
50+
51+
RUN git config --global --add safe.directory '*' \
52+
&& git config --global user.name "${MAINTAINER_NAME}" \
53+
&& git config --global user.email "${MAINTAINER_EMAIL}"
54+
55+
# Bootstrap and Build
56+
COPY . ${DATA_DIR}
57+
WORKDIR ${DATA_DIR}
58+
59+
RUN echo "export VERSION=$(dpkg-parsechangelog --show-field Version | cut -f1 -d'-')" \
60+
| tee -a ~/.env
61+
62+
RUN apt-get -q update \
63+
&& mk-build-deps \
64+
--install \
65+
--remove debian/control \
66+
--tool "apt-get -y --no-install-recommends" \
67+
&& apt-get -y -f install
68+
69+
ENV DEB_BUILD_OPTIONS="parallel=1"
70+
71+
RUN . ~/.env \
72+
&& dch \
73+
--controlmaint \
74+
--distribution "${CODENAME}" \
75+
--force-bad-version \
76+
--force-distribution \
77+
--newversion "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
78+
"Nightly build, ${GIT_SHA}" \
79+
&& debuild \
80+
--no-tgz-check \
81+
--build=binary \
82+
--unsigned-source \
83+
--unsigned-changes \
84+
&& mkdir OUT \
85+
&& mv -v ../*.{deb,changes} OUT/.
86+
87+
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
88+
FROM scratch
89+
COPY --from=builder /data/OUT/ /
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
ARG BUILDER_IMAGE=arm32v7/debian:trixie-20250520
2+
3+
FROM --platform=linux/arm/v7 ${BUILDER_IMAGE} AS builder
4+
5+
ARG MAINTAINER_NAME="Andrey Volk"
6+
ARG MAINTAINER_EMAIL="[email protected]"
7+
8+
ARG CODENAME=trixie
9+
ARG ARCH=arm32
10+
11+
ARG BUILD_NUMBER=42
12+
ARG GIT_SHA=0000000000
13+
14+
ARG DATA_DIR=/data
15+
16+
LABEL maintainer="${MAINTAINER_NAME} <${MAINTAINER_EMAIL}>"
17+
18+
SHELL ["/bin/bash", "-c"]
19+
20+
ENV DEBIAN_FRONTEND=noninteractive
21+
22+
RUN apt-get -q update \
23+
&& apt-get -y -q install \
24+
apt-transport-https \
25+
autoconf \
26+
automake \
27+
build-essential \
28+
ca-certificates \
29+
cmake \
30+
curl \
31+
debhelper \
32+
devscripts \
33+
dh-autoreconf \
34+
dos2unix \
35+
doxygen \
36+
dpkg-dev \
37+
git \
38+
graphviz \
39+
libglib2.0-dev \
40+
libssl-dev \
41+
lsb-release \
42+
pkg-config \
43+
wget
44+
45+
RUN update-ca-certificates --fresh
46+
47+
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env \
48+
&& echo "export ARCH=${ARCH}" | tee -a ~/.env \
49+
&& chmod +x ~/.env
50+
51+
RUN git config --global --add safe.directory '*' \
52+
&& git config --global user.name "${MAINTAINER_NAME}" \
53+
&& git config --global user.email "${MAINTAINER_EMAIL}"
54+
55+
# Bootstrap and Build
56+
COPY . ${DATA_DIR}
57+
WORKDIR ${DATA_DIR}
58+
59+
RUN echo "export VERSION=$(dpkg-parsechangelog --show-field Version | cut -f1 -d'-')" \
60+
| tee -a ~/.env
61+
62+
RUN apt-get -q update \
63+
&& mk-build-deps \
64+
--install \
65+
--remove debian/control \
66+
--tool "apt-get -y --no-install-recommends" \
67+
&& apt-get -y -f install
68+
69+
ENV DEB_BUILD_OPTIONS="parallel=1"
70+
71+
RUN . ~/.env \
72+
&& dch \
73+
--controlmaint \
74+
--distribution "${CODENAME}" \
75+
--force-bad-version \
76+
--force-distribution \
77+
--newversion "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
78+
"Nightly build, ${GIT_SHA}" \
79+
&& debuild \
80+
--no-tgz-check \
81+
--build=binary \
82+
--unsigned-source \
83+
--unsigned-changes \
84+
&& mkdir OUT \
85+
&& mv -v ../*.{deb,changes} OUT/.
86+
87+
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
88+
FROM scratch
89+
COPY --from=builder /data/OUT/ /
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
ARG BUILDER_IMAGE=arm64v8/debian:trixie-20250520
2+
3+
FROM --platform=linux/arm64 ${BUILDER_IMAGE} AS builder
4+
5+
ARG MAINTAINER_NAME="Andrey Volk"
6+
ARG MAINTAINER_EMAIL="[email protected]"
7+
8+
ARG CODENAME=trixie
9+
ARG ARCH=arm64
10+
11+
ARG BUILD_NUMBER=42
12+
ARG GIT_SHA=0000000000
13+
14+
ARG DATA_DIR=/data
15+
16+
LABEL maintainer="${MAINTAINER_NAME} <${MAINTAINER_EMAIL}>"
17+
18+
SHELL ["/bin/bash", "-c"]
19+
20+
ENV DEBIAN_FRONTEND=noninteractive
21+
22+
RUN apt-get -q update \
23+
&& apt-get -y -q install \
24+
apt-transport-https \
25+
autoconf \
26+
automake \
27+
build-essential \
28+
ca-certificates \
29+
cmake \
30+
curl \
31+
debhelper \
32+
devscripts \
33+
dh-autoreconf \
34+
dos2unix \
35+
doxygen \
36+
dpkg-dev \
37+
git \
38+
graphviz \
39+
libglib2.0-dev \
40+
libssl-dev \
41+
lsb-release \
42+
pkg-config \
43+
wget
44+
45+
RUN update-ca-certificates --fresh
46+
47+
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env \
48+
&& echo "export ARCH=${ARCH}" | tee -a ~/.env \
49+
&& chmod +x ~/.env
50+
51+
RUN git config --global --add safe.directory '*' \
52+
&& git config --global user.name "${MAINTAINER_NAME}" \
53+
&& git config --global user.email "${MAINTAINER_EMAIL}"
54+
55+
# Bootstrap and Build
56+
COPY . ${DATA_DIR}
57+
WORKDIR ${DATA_DIR}
58+
59+
RUN echo "export VERSION=$(dpkg-parsechangelog --show-field Version | cut -f1 -d'-')" \
60+
| tee -a ~/.env
61+
62+
RUN apt-get -q update \
63+
&& mk-build-deps \
64+
--install \
65+
--remove debian/control \
66+
--tool "apt-get -y --no-install-recommends" \
67+
&& apt-get -y -f install
68+
69+
ENV DEB_BUILD_OPTIONS="parallel=1"
70+
71+
RUN . ~/.env \
72+
&& dch \
73+
--controlmaint \
74+
--distribution "${CODENAME}" \
75+
--force-bad-version \
76+
--force-distribution \
77+
--newversion "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
78+
"Nightly build, ${GIT_SHA}" \
79+
&& debuild \
80+
--no-tgz-check \
81+
--build=binary \
82+
--unsigned-source \
83+
--unsigned-changes \
84+
&& mkdir OUT \
85+
&& mv -v ../*.{deb,changes} OUT/.
86+
87+
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
88+
FROM scratch
89+
COPY --from=builder /data/OUT/ /

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ jobs:
2626
os:
2727
- debian
2828
version:
29+
- trixie
2930
- bookworm
3031
- bullseye
3132
platform:

0 commit comments

Comments
 (0)