Skip to content

Commit e29ef78

Browse files
authored
Merge pull request #106 from freeswitch/packages-trixie
[GHA] Add Debian `Trixie` build target
2 parents 0a9a1bd + 7a70afd commit e29ef78

File tree

12 files changed

+295
-2
lines changed

12 files changed

+295
-2
lines changed

.github/docker/debian/bookworm/amd64/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ RUN apt-get -q update \
6868

6969
ENV DEB_BUILD_OPTIONS="parallel=1"
7070

71+
RUN dpkg-buildflags --export=sh
72+
7173
RUN . ~/.env \
7274
&& dch \
7375
--controlmaint \

.github/docker/debian/bookworm/arm32v7/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ RUN apt-get -q update \
6969

7070
ENV DEB_BUILD_OPTIONS="parallel=1"
7171

72+
RUN dpkg-buildflags --export=sh
73+
7274
RUN . ~/.env \
7375
&& dch \
7476
--controlmaint \

.github/docker/debian/bookworm/arm64v8/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ RUN apt-get -q update \
6969

7070
ENV DEB_BUILD_OPTIONS="parallel=1"
7171

72+
RUN dpkg-buildflags --export=sh
73+
7274
RUN . ~/.env \
7375
&& dch \
7476
--controlmaint \

.github/docker/debian/bullseye/amd64/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ RUN apt-get -q update \
6969

7070
ENV DEB_BUILD_OPTIONS="parallel=1"
7171

72+
RUN dpkg-buildflags --export=sh
73+
7274
RUN . ~/.env \
7375
&& dch \
7476
--controlmaint \

.github/docker/debian/bullseye/arm32v7/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ RUN apt-get -q update \
6969

7070
ENV DEB_BUILD_OPTIONS="parallel=1"
7171

72+
RUN dpkg-buildflags --export=sh
73+
7274
RUN . ~/.env \
7375
&& dch \
7476
--controlmaint \

.github/docker/debian/bullseye/arm64v8/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ RUN apt-get -q update \
6969

7070
ENV DEB_BUILD_OPTIONS="parallel=1"
7171

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

.github/workflows/build.yml

Lines changed: 2 additions & 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:
@@ -67,6 +68,7 @@ jobs:
6768
os:
6869
- debian
6970
version:
71+
- trixie
7072
- bookworm
7173
- bullseye
7274
platform:

0 commit comments

Comments
 (0)