mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-07-31 22:28:08 +00:00
[GHA] Add trixie
build target
Co-authored-by: Andrey Volk <andywolk@gmail.com>
This commit is contained in:
parent
1ed09805a6
commit
6a6ade581f
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
|||||||
mk-build-deps \
|
mk-build-deps \
|
||||||
--install \
|
--install \
|
||||||
--remove debian/control \
|
--remove debian/control \
|
||||||
--tool "apt-get --yes --no-install-recommends" && \
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
apt-get --yes --fix-broken install && \
|
apt-get --yes --fix-broken install && \
|
||||||
rm -f /etc/apt/auth.conf
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
85
.github/docker/debian/trixie/amd64/public.release.Dockerfile
vendored
Normal file
85
.github/docker/debian/trixie/amd64/public.release.Dockerfile
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
ARG BUILDER_IMAGE=debian:trixie-20250520
|
||||||
|
|
||||||
|
FROM ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=trixie
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.authors="${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
RUN apt-get -q update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
|
||||||
|
apt-transport-https \
|
||||||
|
build-essential \
|
||||||
|
ca-certificates \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
debhelper \
|
||||||
|
devscripts \
|
||||||
|
dh-autoreconf \
|
||||||
|
dos2unix \
|
||||||
|
doxygen \
|
||||||
|
git \
|
||||||
|
graphviz \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libssl-dev \
|
||||||
|
lsb-release \
|
||||||
|
pkg-config \
|
||||||
|
wget
|
||||||
|
|
||||||
|
RUN update-ca-certificates --fresh
|
||||||
|
|
||||||
|
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env && \
|
||||||
|
chmod +x ~/.env
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
# Bootstrap and Build
|
||||||
|
COPY . ${DATA_DIR}
|
||||||
|
WORKDIR ${DATA_DIR}
|
||||||
|
RUN echo "export VERSION=$(cat ./build/next-release.txt | tr -d '\n')" | tee -a ~/.env
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-dsc ${CODENAME}
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
||||||
|
sha512sum /run/secrets/REPO_PASSWORD && \
|
||||||
|
curl -sSL https://freeswitch.org/fsget | \
|
||||||
|
bash -s $(cat /run/secrets/REPO_PASSWORD) prerelease && \
|
||||||
|
apt-get --quiet update && \
|
||||||
|
mk-build-deps \
|
||||||
|
--install \
|
||||||
|
--remove debian/control \
|
||||||
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
|
apt-get --yes --fix-broken install && \
|
||||||
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
ENV DEB_BUILD_OPTIONS="parallel=1"
|
||||||
|
RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
|
||||||
|
--force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
|
||||||
|
RUN dpkg-source \
|
||||||
|
--diff-ignore=.* \
|
||||||
|
--compression=xz \
|
||||||
|
--compression-level=9 \
|
||||||
|
--build \
|
||||||
|
. \
|
||||||
|
&& debuild -b -us -uc \
|
||||||
|
&& mkdir OUT \
|
||||||
|
&& mv -v ../*.{deb,dsc,changes,tar.*} OUT/.
|
||||||
|
|
||||||
|
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=builder /data/OUT/ /
|
85
.github/docker/debian/trixie/amd64/public.unstable.Dockerfile
vendored
Normal file
85
.github/docker/debian/trixie/amd64/public.unstable.Dockerfile
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
ARG BUILDER_IMAGE=debian:trixie-20250520
|
||||||
|
|
||||||
|
FROM ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=trixie
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.authors="${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
RUN apt-get -q update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
|
||||||
|
apt-transport-https \
|
||||||
|
build-essential \
|
||||||
|
ca-certificates \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
debhelper \
|
||||||
|
devscripts \
|
||||||
|
dh-autoreconf \
|
||||||
|
dos2unix \
|
||||||
|
doxygen \
|
||||||
|
git \
|
||||||
|
graphviz \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libssl-dev \
|
||||||
|
lsb-release \
|
||||||
|
pkg-config \
|
||||||
|
wget
|
||||||
|
|
||||||
|
RUN update-ca-certificates --fresh
|
||||||
|
|
||||||
|
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env && \
|
||||||
|
chmod +x ~/.env
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
# Bootstrap and Build
|
||||||
|
COPY . ${DATA_DIR}
|
||||||
|
WORKDIR ${DATA_DIR}
|
||||||
|
RUN echo "export VERSION=$(cat ./build/next-release.txt | tr -d '\n')" | tee -a ~/.env
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-dsc ${CODENAME}
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
||||||
|
sha512sum /run/secrets/REPO_PASSWORD && \
|
||||||
|
curl -sSL https://freeswitch.org/fsget | \
|
||||||
|
bash -s $(cat /run/secrets/REPO_PASSWORD) prerelease && \
|
||||||
|
apt-get --quiet update && \
|
||||||
|
mk-build-deps \
|
||||||
|
--install \
|
||||||
|
--remove debian/control \
|
||||||
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
|
apt-get --yes --fix-broken install && \
|
||||||
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
ENV DEB_BUILD_OPTIONS="parallel=1"
|
||||||
|
RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
|
||||||
|
--force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
|
||||||
|
RUN dpkg-source \
|
||||||
|
--diff-ignore=.* \
|
||||||
|
--compression=xz \
|
||||||
|
--compression-level=9 \
|
||||||
|
--build \
|
||||||
|
. \
|
||||||
|
&& debuild -b -us -uc \
|
||||||
|
&& mkdir OUT \
|
||||||
|
&& mv -v ../*.{deb,dsc,changes,tar.*} OUT/.
|
||||||
|
|
||||||
|
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=builder /data/OUT/ /
|
85
.github/docker/debian/trixie/arm32v7/public.release.Dockerfile
vendored
Normal file
85
.github/docker/debian/trixie/arm32v7/public.release.Dockerfile
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
ARG BUILDER_IMAGE=arm32v7/debian:trixie-20250520
|
||||||
|
|
||||||
|
FROM --platform=linux/arm/v7 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=trixie
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.authors="${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
RUN apt-get -q update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
|
||||||
|
apt-transport-https \
|
||||||
|
build-essential \
|
||||||
|
ca-certificates \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
debhelper \
|
||||||
|
devscripts \
|
||||||
|
dh-autoreconf \
|
||||||
|
dos2unix \
|
||||||
|
doxygen \
|
||||||
|
git \
|
||||||
|
graphviz \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libssl-dev \
|
||||||
|
lsb-release \
|
||||||
|
pkg-config \
|
||||||
|
wget
|
||||||
|
|
||||||
|
RUN update-ca-certificates --fresh
|
||||||
|
|
||||||
|
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env && \
|
||||||
|
chmod +x ~/.env
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
# Bootstrap and Build
|
||||||
|
COPY . ${DATA_DIR}
|
||||||
|
WORKDIR ${DATA_DIR}
|
||||||
|
RUN echo "export VERSION=$(cat ./build/next-release.txt | tr -d '\n')" | tee -a ~/.env
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-dsc -a armhf ${CODENAME}
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
||||||
|
sha512sum /run/secrets/REPO_PASSWORD && \
|
||||||
|
curl -sSL https://freeswitch.org/fsget | \
|
||||||
|
bash -s $(cat /run/secrets/REPO_PASSWORD) prerelease && \
|
||||||
|
apt-get --quiet update && \
|
||||||
|
mk-build-deps \
|
||||||
|
--install \
|
||||||
|
--remove debian/control \
|
||||||
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
|
apt-get --yes --fix-broken install && \
|
||||||
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
ENV DEB_BUILD_OPTIONS="parallel=1"
|
||||||
|
RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
|
||||||
|
--force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
|
||||||
|
RUN dpkg-source \
|
||||||
|
--diff-ignore=.* \
|
||||||
|
--compression=xz \
|
||||||
|
--compression-level=9 \
|
||||||
|
--build \
|
||||||
|
. \
|
||||||
|
&& debuild -b -us -uc \
|
||||||
|
&& mkdir OUT \
|
||||||
|
&& mv -v ../*.{deb,dsc,changes,tar.*} OUT/.
|
||||||
|
|
||||||
|
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=builder /data/OUT/ /
|
85
.github/docker/debian/trixie/arm32v7/public.unstable.Dockerfile
vendored
Normal file
85
.github/docker/debian/trixie/arm32v7/public.unstable.Dockerfile
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
ARG BUILDER_IMAGE=arm32v7/debian:trixie-20250520
|
||||||
|
|
||||||
|
FROM --platform=linux/arm/v7 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=trixie
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.authors="${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
RUN apt-get -q update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
|
||||||
|
apt-transport-https \
|
||||||
|
build-essential \
|
||||||
|
ca-certificates \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
debhelper \
|
||||||
|
devscripts \
|
||||||
|
dh-autoreconf \
|
||||||
|
dos2unix \
|
||||||
|
doxygen \
|
||||||
|
git \
|
||||||
|
graphviz \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libssl-dev \
|
||||||
|
lsb-release \
|
||||||
|
pkg-config \
|
||||||
|
wget
|
||||||
|
|
||||||
|
RUN update-ca-certificates --fresh
|
||||||
|
|
||||||
|
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env && \
|
||||||
|
chmod +x ~/.env
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
# Bootstrap and Build
|
||||||
|
COPY . ${DATA_DIR}
|
||||||
|
WORKDIR ${DATA_DIR}
|
||||||
|
RUN echo "export VERSION=$(cat ./build/next-release.txt | tr -d '\n')" | tee -a ~/.env
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-dsc -a armhf ${CODENAME}
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
||||||
|
sha512sum /run/secrets/REPO_PASSWORD && \
|
||||||
|
curl -sSL https://freeswitch.org/fsget | \
|
||||||
|
bash -s $(cat /run/secrets/REPO_PASSWORD) prerelease && \
|
||||||
|
apt-get --quiet update && \
|
||||||
|
mk-build-deps \
|
||||||
|
--install \
|
||||||
|
--remove debian/control \
|
||||||
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
|
apt-get --yes --fix-broken install && \
|
||||||
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
ENV DEB_BUILD_OPTIONS="parallel=1"
|
||||||
|
RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
|
||||||
|
--force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
|
||||||
|
RUN dpkg-source \
|
||||||
|
--diff-ignore=.* \
|
||||||
|
--compression=xz \
|
||||||
|
--compression-level=9 \
|
||||||
|
--build \
|
||||||
|
. \
|
||||||
|
&& debuild -b -us -uc \
|
||||||
|
&& mkdir OUT \
|
||||||
|
&& mv -v ../*.{deb,dsc,changes,tar.*} OUT/.
|
||||||
|
|
||||||
|
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=builder /data/OUT/ /
|
85
.github/docker/debian/trixie/arm64v8/public.release.Dockerfile
vendored
Normal file
85
.github/docker/debian/trixie/arm64v8/public.release.Dockerfile
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
ARG BUILDER_IMAGE=arm64v8/debian:trixie-20250520
|
||||||
|
|
||||||
|
FROM --platform=linux/arm64 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=trixie
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.authors="${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
RUN apt-get -q update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
|
||||||
|
apt-transport-https \
|
||||||
|
build-essential \
|
||||||
|
ca-certificates \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
debhelper \
|
||||||
|
devscripts \
|
||||||
|
dh-autoreconf \
|
||||||
|
dos2unix \
|
||||||
|
doxygen \
|
||||||
|
git \
|
||||||
|
graphviz \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libssl-dev \
|
||||||
|
lsb-release \
|
||||||
|
pkg-config \
|
||||||
|
wget
|
||||||
|
|
||||||
|
RUN update-ca-certificates --fresh
|
||||||
|
|
||||||
|
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env && \
|
||||||
|
chmod +x ~/.env
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
# Bootstrap and Build
|
||||||
|
COPY . ${DATA_DIR}
|
||||||
|
WORKDIR ${DATA_DIR}
|
||||||
|
RUN echo "export VERSION=$(cat ./build/next-release.txt | tr -d '\n')" | tee -a ~/.env
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-dsc -a arm64 ${CODENAME}
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
||||||
|
sha512sum /run/secrets/REPO_PASSWORD && \
|
||||||
|
curl -sSL https://freeswitch.org/fsget | \
|
||||||
|
bash -s $(cat /run/secrets/REPO_PASSWORD) prerelease && \
|
||||||
|
apt-get --quiet update && \
|
||||||
|
mk-build-deps \
|
||||||
|
--install \
|
||||||
|
--remove debian/control \
|
||||||
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
|
apt-get --yes --fix-broken install && \
|
||||||
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
ENV DEB_BUILD_OPTIONS="parallel=1"
|
||||||
|
RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
|
||||||
|
--force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
|
||||||
|
RUN dpkg-source \
|
||||||
|
--diff-ignore=.* \
|
||||||
|
--compression=xz \
|
||||||
|
--compression-level=9 \
|
||||||
|
--build \
|
||||||
|
. \
|
||||||
|
&& debuild -b -us -uc \
|
||||||
|
&& mkdir OUT \
|
||||||
|
&& mv -v ../*.{deb,dsc,changes,tar.*} OUT/.
|
||||||
|
|
||||||
|
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=builder /data/OUT/ /
|
85
.github/docker/debian/trixie/arm64v8/public.unstable.Dockerfile
vendored
Normal file
85
.github/docker/debian/trixie/arm64v8/public.unstable.Dockerfile
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
ARG BUILDER_IMAGE=arm64v8/debian:trixie-20250520
|
||||||
|
|
||||||
|
FROM --platform=linux/arm64 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=trixie
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.authors="${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
RUN apt-get -q update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
|
||||||
|
apt-transport-https \
|
||||||
|
build-essential \
|
||||||
|
ca-certificates \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
debhelper \
|
||||||
|
devscripts \
|
||||||
|
dh-autoreconf \
|
||||||
|
dos2unix \
|
||||||
|
doxygen \
|
||||||
|
git \
|
||||||
|
graphviz \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libssl-dev \
|
||||||
|
lsb-release \
|
||||||
|
pkg-config \
|
||||||
|
wget
|
||||||
|
|
||||||
|
RUN update-ca-certificates --fresh
|
||||||
|
|
||||||
|
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env && \
|
||||||
|
chmod +x ~/.env
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
# Bootstrap and Build
|
||||||
|
COPY . ${DATA_DIR}
|
||||||
|
WORKDIR ${DATA_DIR}
|
||||||
|
RUN echo "export VERSION=$(cat ./build/next-release.txt | tr -d '\n')" | tee -a ~/.env
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
RUN . ~/.env && ./debian/util.sh prep-create-dsc -a arm64 ${CODENAME}
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
|
||||||
|
sha512sum /run/secrets/REPO_PASSWORD && \
|
||||||
|
curl -sSL https://freeswitch.org/fsget | \
|
||||||
|
bash -s $(cat /run/secrets/REPO_PASSWORD) prerelease && \
|
||||||
|
apt-get --quiet update && \
|
||||||
|
mk-build-deps \
|
||||||
|
--install \
|
||||||
|
--remove debian/control \
|
||||||
|
--tool "apt-get -o Debug::pkgProblemResolver=yes --yes --no-install-recommends" && \
|
||||||
|
apt-get --yes --fix-broken install && \
|
||||||
|
rm -f /etc/apt/auth.conf
|
||||||
|
|
||||||
|
ENV DEB_BUILD_OPTIONS="parallel=1"
|
||||||
|
RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
|
||||||
|
--force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
|
||||||
|
|
||||||
|
RUN . ~/.env && ./debian/util.sh create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
|
||||||
|
|
||||||
|
RUN dpkg-source \
|
||||||
|
--diff-ignore=.* \
|
||||||
|
--compression=xz \
|
||||||
|
--compression-level=9 \
|
||||||
|
--build \
|
||||||
|
. \
|
||||||
|
&& debuild -b -us -uc \
|
||||||
|
&& mkdir OUT \
|
||||||
|
&& mv -v ../*.{deb,dsc,changes,tar.*} OUT/.
|
||||||
|
|
||||||
|
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=builder /data/OUT/ /
|
38
.github/workflows/build.yml
vendored
38
.github/workflows/build.yml
vendored
@ -11,12 +11,12 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
freeswitch_ref:
|
freeswitch_ref:
|
||||||
description: 'FreeSWITCH repository ref'
|
description: "FreeSWITCH repository ref"
|
||||||
required: true
|
required: true
|
||||||
default: master
|
default: master
|
||||||
type: string
|
type: string
|
||||||
release:
|
release:
|
||||||
description: 'FreeSWITCH release type'
|
description: "FreeSWITCH release type"
|
||||||
type: choice
|
type: choice
|
||||||
required: true
|
required: true
|
||||||
default: unstable
|
default: unstable
|
||||||
@ -24,7 +24,7 @@ on:
|
|||||||
- release
|
- release
|
||||||
- unstable
|
- unstable
|
||||||
publish:
|
publish:
|
||||||
description: 'Publish build data'
|
description: "Publish build data"
|
||||||
required: true
|
required: true
|
||||||
default: false
|
default: false
|
||||||
type: boolean
|
type: boolean
|
||||||
@ -34,7 +34,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
preconfig:
|
preconfig:
|
||||||
name: 'Preconfig'
|
name: "Preconfig"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
deb: ${{ steps.deb.outputs.excludes }}
|
deb: ${{ steps.deb.outputs.excludes }}
|
||||||
@ -53,12 +53,6 @@ jobs:
|
|||||||
"name": "arm64v8"
|
"name": "arm64v8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"version": "bullseye",
|
|
||||||
"platform": {
|
|
||||||
"name": "amd64"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"version": "bullseye",
|
"version": "bullseye",
|
||||||
"platform": {
|
"platform": {
|
||||||
@ -88,7 +82,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
get-nonce:
|
get-nonce:
|
||||||
name: 'Get Nonce for token'
|
name: "Get Nonce for token"
|
||||||
runs-on: freeswitch-repo-auth-client
|
runs-on: freeswitch-repo-auth-client
|
||||||
outputs:
|
outputs:
|
||||||
nonce: ${{ steps.get-nonce.outputs.nonce }}
|
nonce: ${{ steps.get-nonce.outputs.nonce }}
|
||||||
@ -100,12 +94,17 @@ jobs:
|
|||||||
mode: nonce
|
mode: nonce
|
||||||
|
|
||||||
issue-token:
|
issue-token:
|
||||||
name: 'Issue temporary token'
|
name: "Issue temporary token"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: get-nonce
|
needs: get-nonce
|
||||||
|
env:
|
||||||
|
NONCE: ${{ needs.get-nonce.outputs.nonce }}
|
||||||
outputs:
|
outputs:
|
||||||
token: ${{ steps.issue-token.outputs.token }}
|
token: ${{ steps.issue-token.outputs.token }}
|
||||||
steps:
|
steps:
|
||||||
|
- name: Mask Token
|
||||||
|
run: echo "::add-mask::$NONCE"
|
||||||
|
|
||||||
- name: Issue Token
|
- name: Issue Token
|
||||||
id: issue-token
|
id: issue-token
|
||||||
uses: signalwire/actions-template/.github/actions/repo-auth-client@main
|
uses: signalwire/actions-template/.github/actions/repo-auth-client@main
|
||||||
@ -115,7 +114,7 @@ jobs:
|
|||||||
mode: issue
|
mode: issue
|
||||||
|
|
||||||
deb-public:
|
deb-public:
|
||||||
name: 'DEB-PUBLIC'
|
name: "DEB-PUBLIC"
|
||||||
permissions:
|
permissions:
|
||||||
id-token: write
|
id-token: write
|
||||||
contents: read
|
contents: read
|
||||||
@ -130,6 +129,7 @@ jobs:
|
|||||||
os:
|
os:
|
||||||
- debian
|
- debian
|
||||||
version:
|
version:
|
||||||
|
- trixie
|
||||||
- bookworm
|
- bookworm
|
||||||
- bullseye
|
- bullseye
|
||||||
platform:
|
platform:
|
||||||
@ -147,10 +147,10 @@ jobs:
|
|||||||
REF: ${{ inputs.freeswitch_ref }}
|
REF: ${{ inputs.freeswitch_ref }}
|
||||||
ARTIFACTS_PATTERN: '.*\.(deb|dsc|changes|tar.bz2|tar.gz|tar.lzma|tar.xz)$'
|
ARTIFACTS_PATTERN: '.*\.(deb|dsc|changes|tar.bz2|tar.gz|tar.lzma|tar.xz)$'
|
||||||
DOCKERFILE: .github/docker/${{ matrix.os }}/${{ matrix.version }}/${{ matrix.platform.name }}/public.${{ matrix.release }}.Dockerfile
|
DOCKERFILE: .github/docker/${{ matrix.os }}/${{ matrix.version }}/${{ matrix.platform.name }}/public.${{ matrix.release }}.Dockerfile
|
||||||
MAINTAINER: 'Andrey Volk <andrey@signalwire.com>'
|
MAINTAINER: "Andrey Volk <andrey@signalwire.com>"
|
||||||
META_FILE_PATH_PREFIX: /var/www/freeswitch/public/${{ matrix.release }}/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }}
|
META_FILE_PATH_PREFIX: /var/www/freeswitch/public/${{ matrix.release }}/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }}
|
||||||
PLATFORM: ${{ matrix.platform.name }}
|
PLATFORM: ${{ matrix.platform.name }}
|
||||||
REPO_DOMAIN: 'freeswitch.signalwire.com'
|
REPO_DOMAIN: "freeswitch.signalwire.com"
|
||||||
TARGET_ARTIFACT_NAME: ${{ matrix.os }}-${{ matrix.version }}-${{ matrix.platform.name }}-public-${{ matrix.release }}-artifact
|
TARGET_ARTIFACT_NAME: ${{ matrix.os }}-${{ matrix.version }}-${{ matrix.platform.name }}-public-${{ matrix.release }}-artifact
|
||||||
UPLOAD_BUILD_ARTIFACTS: >-
|
UPLOAD_BUILD_ARTIFACTS: >-
|
||||||
${{
|
${{
|
||||||
@ -169,11 +169,11 @@ jobs:
|
|||||||
PROXY_URL: ${{ secrets.PROXY_URL }}
|
PROXY_URL: ${{ secrets.PROXY_URL }}
|
||||||
USERNAME: ${{ secrets.USERNAME }}
|
USERNAME: ${{ secrets.USERNAME }}
|
||||||
TELEPORT_TOKEN: ${{ secrets.TELEPORT_TOKEN }}
|
TELEPORT_TOKEN: ${{ secrets.TELEPORT_TOKEN }}
|
||||||
REPO_USERNAME: 'SWUSERNAME'
|
REPO_USERNAME: "SWUSERNAME"
|
||||||
REPO_PASSWORD: ${{ needs.issue-token.outputs.token }}
|
REPO_PASSWORD: ${{ needs.issue-token.outputs.token }}
|
||||||
|
|
||||||
revoke-token:
|
revoke-token:
|
||||||
name: 'Revoke temporary token'
|
name: "Revoke temporary token"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# if: always()
|
# if: always()
|
||||||
needs:
|
needs:
|
||||||
@ -189,7 +189,7 @@ jobs:
|
|||||||
mode: revoke
|
mode: revoke
|
||||||
|
|
||||||
meta:
|
meta:
|
||||||
name: 'Publish build data to meta-repo'
|
name: "Publish build data to meta-repo"
|
||||||
if: >-
|
if: >-
|
||||||
${{
|
${{
|
||||||
(github.event.pull_request.head.repo.full_name == github.repository) &&
|
(github.event.pull_request.head.repo.full_name == github.repository) &&
|
||||||
@ -208,7 +208,7 @@ jobs:
|
|||||||
contents: read
|
contents: read
|
||||||
uses: signalwire/actions-template/.github/workflows/meta-repo-content.yml@main
|
uses: signalwire/actions-template/.github/workflows/meta-repo-content.yml@main
|
||||||
with:
|
with:
|
||||||
META_CONTENT: '/var/www/freeswitch/public/{release,unstable}/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }}'
|
META_CONTENT: "/var/www/freeswitch/public/{release,unstable}/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }}"
|
||||||
META_REPO: signalwire/bamboo_gha_trigger
|
META_REPO: signalwire/bamboo_gha_trigger
|
||||||
META_REPO_BRANCH: trigger/freeswitch/${{ github.ref_name }}
|
META_REPO_BRANCH: trigger/freeswitch/${{ github.ref_name }}
|
||||||
secrets:
|
secrets:
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -273,3 +273,5 @@ images/test_text.png
|
|||||||
|
|
||||||
src/mod/codecs/mod_amrwb/test/test_amrwb
|
src/mod/codecs/mod_amrwb/test/test_amrwb
|
||||||
src/mod/endpoints/mod_sofia/test/sipp-based-tests
|
src/mod/endpoints/mod_sofia/test/sipp-based-tests
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
Loading…
x
Reference in New Issue
Block a user