commit
e584243a19
|
@ -0,0 +1,97 @@
|
||||||
|
ARG BUILDER_IMAGE=debian:bookworm-20240513
|
||||||
|
|
||||||
|
FROM ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
ARG REPO_DOMAIN=freeswitch.signalwire.com
|
||||||
|
ARG REPO_USERNAME=user
|
||||||
|
ARG REPO_PASSWORD=password
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=bookworm
|
||||||
|
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
|
||||||
|
|
||||||
|
MAINTAINER "${MAINTAINER_NAME} <${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 . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
|
||||||
|
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
EOF
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD \
|
||||||
|
printf "machine ${REPO_DOMAIN} " > ~/.netrc && \
|
||||||
|
printf "login ${REPO_USERNAME} " >> ~/.netrc && \
|
||||||
|
printf "password " >> ~/.netrc && \
|
||||||
|
cat /run/secrets/REPO_PASSWORD >> ~/.netrc && \
|
||||||
|
cp -f ~/.netrc /etc/apt/auth.conf
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
RUN curl --netrc -o ${GPG_KEY} https://${REPO_DOMAIN}/repo/deb/debian-unstable/signalwire-freeswitch-repo.gpg
|
||||||
|
|
||||||
|
# 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 apt-get -q update && \
|
||||||
|
mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
|
||||||
|
apt-get -y -f install
|
||||||
|
|
||||||
|
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/ /
|
|
@ -0,0 +1,96 @@
|
||||||
|
ARG BUILDER_IMAGE=arm32v7/debian:bookworm-20240513
|
||||||
|
|
||||||
|
FROM --platform=linux/arm32 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
ARG REPO_DOMAIN=freeswitch.signalwire.com
|
||||||
|
ARG REPO_USERNAME=user
|
||||||
|
ARG REPO_PASSWORD=password
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=bookworm
|
||||||
|
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
|
||||||
|
|
||||||
|
MAINTAINER "${MAINTAINER_NAME} <${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 . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
|
||||||
|
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev ${CODENAME} main
|
||||||
|
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev ${CODENAME} main
|
||||||
|
EOF
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD \
|
||||||
|
printf "machine ${REPO_DOMAIN} " > ~/.netrc && \
|
||||||
|
printf "login ${REPO_USERNAME} " >> ~/.netrc && \
|
||||||
|
printf "password " >> ~/.netrc && \
|
||||||
|
cat /run/secrets/REPO_PASSWORD >> ~/.netrc && \
|
||||||
|
cp -f ~/.netrc /etc/apt/auth.conf
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
RUN curl --netrc -o ${GPG_KEY} https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev/signalwire-freeswitch-repo.gpg
|
||||||
|
|
||||||
|
# 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 apt-get -q update && \
|
||||||
|
mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
|
||||||
|
apt-get -y -f install
|
||||||
|
|
||||||
|
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/ /
|
|
@ -0,0 +1,96 @@
|
||||||
|
ARG BUILDER_IMAGE=arm64v8/debian:bookworm-20240513
|
||||||
|
|
||||||
|
FROM --platform=linux/arm64 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
ARG REPO_DOMAIN=freeswitch.signalwire.com
|
||||||
|
ARG REPO_USERNAME=user
|
||||||
|
ARG REPO_PASSWORD=password
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=bookworm
|
||||||
|
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
|
||||||
|
|
||||||
|
MAINTAINER "${MAINTAINER_NAME} <${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 . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
|
||||||
|
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
EOF
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD \
|
||||||
|
printf "machine ${REPO_DOMAIN} " > ~/.netrc && \
|
||||||
|
printf "login ${REPO_USERNAME} " >> ~/.netrc && \
|
||||||
|
printf "password " >> ~/.netrc && \
|
||||||
|
cat /run/secrets/REPO_PASSWORD >> ~/.netrc && \
|
||||||
|
cp -f ~/.netrc /etc/apt/auth.conf
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
RUN curl --netrc -o ${GPG_KEY} https://${REPO_DOMAIN}/repo/deb/debian-unstable/signalwire-freeswitch-repo.gpg
|
||||||
|
|
||||||
|
# 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 apt-get -q update && \
|
||||||
|
mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
|
||||||
|
apt-get -y -f install
|
||||||
|
|
||||||
|
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/ /
|
|
@ -0,0 +1,96 @@
|
||||||
|
ARG BUILDER_IMAGE=debian:bullseye-20240513
|
||||||
|
|
||||||
|
FROM ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
ARG REPO_DOMAIN=freeswitch.signalwire.com
|
||||||
|
ARG REPO_USERNAME=user
|
||||||
|
ARG REPO_PASSWORD=password
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=bullseye
|
||||||
|
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
|
||||||
|
|
||||||
|
MAINTAINER "${MAINTAINER_NAME} <${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 . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
|
||||||
|
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
EOF
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD \
|
||||||
|
printf "machine ${REPO_DOMAIN} " > ~/.netrc && \
|
||||||
|
printf "login ${REPO_USERNAME} " >> ~/.netrc && \
|
||||||
|
printf "password " >> ~/.netrc && \
|
||||||
|
cat /run/secrets/REPO_PASSWORD >> ~/.netrc && \
|
||||||
|
cp -f ~/.netrc /etc/apt/auth.conf
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
RUN curl --netrc -o ${GPG_KEY} https://${REPO_DOMAIN}/repo/deb/debian-unstable/signalwire-freeswitch-repo.gpg
|
||||||
|
|
||||||
|
# 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 apt-get -q update && \
|
||||||
|
mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
|
||||||
|
apt-get -y -f install
|
||||||
|
|
||||||
|
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/ /
|
|
@ -0,0 +1,96 @@
|
||||||
|
ARG BUILDER_IMAGE=arm32v7/debian:bullseye-20240513
|
||||||
|
|
||||||
|
FROM --platform=linux/arm32 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
ARG REPO_DOMAIN=freeswitch.signalwire.com
|
||||||
|
ARG REPO_USERNAME=user
|
||||||
|
ARG REPO_PASSWORD=password
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=bullseye
|
||||||
|
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
|
||||||
|
|
||||||
|
MAINTAINER "${MAINTAINER_NAME} <${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 . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
|
||||||
|
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev ${CODENAME} main
|
||||||
|
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev ${CODENAME} main
|
||||||
|
EOF
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD \
|
||||||
|
printf "machine ${REPO_DOMAIN} " > ~/.netrc && \
|
||||||
|
printf "login ${REPO_USERNAME} " >> ~/.netrc && \
|
||||||
|
printf "password " >> ~/.netrc && \
|
||||||
|
cat /run/secrets/REPO_PASSWORD >> ~/.netrc && \
|
||||||
|
cp -f ~/.netrc /etc/apt/auth.conf
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
RUN curl --netrc -o ${GPG_KEY} https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev/signalwire-freeswitch-repo.gpg
|
||||||
|
|
||||||
|
# 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 apt-get -q update && \
|
||||||
|
mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
|
||||||
|
apt-get -y -f install
|
||||||
|
|
||||||
|
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/ /
|
|
@ -0,0 +1,96 @@
|
||||||
|
ARG BUILDER_IMAGE=arm64v8/debian:bullseye-20240513
|
||||||
|
|
||||||
|
FROM --platform=linux/arm64 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
ARG REPO_DOMAIN=freeswitch.signalwire.com
|
||||||
|
ARG REPO_USERNAME=user
|
||||||
|
ARG REPO_PASSWORD=password
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=bullseye
|
||||||
|
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
|
||||||
|
|
||||||
|
MAINTAINER "${MAINTAINER_NAME} <${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 . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
|
||||||
|
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
EOF
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD \
|
||||||
|
printf "machine ${REPO_DOMAIN} " > ~/.netrc && \
|
||||||
|
printf "login ${REPO_USERNAME} " >> ~/.netrc && \
|
||||||
|
printf "password " >> ~/.netrc && \
|
||||||
|
cat /run/secrets/REPO_PASSWORD >> ~/.netrc && \
|
||||||
|
cp -f ~/.netrc /etc/apt/auth.conf
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
RUN curl --netrc -o ${GPG_KEY} https://${REPO_DOMAIN}/repo/deb/debian-unstable/signalwire-freeswitch-repo.gpg
|
||||||
|
|
||||||
|
# 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 apt-get -q update && \
|
||||||
|
mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
|
||||||
|
apt-get -y -f install
|
||||||
|
|
||||||
|
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/ /
|
|
@ -0,0 +1,97 @@
|
||||||
|
ARG BUILDER_IMAGE=debian:buster-20240513
|
||||||
|
|
||||||
|
FROM ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
ARG REPO_DOMAIN=freeswitch.signalwire.com
|
||||||
|
ARG REPO_USERNAME=user
|
||||||
|
ARG REPO_PASSWORD=password
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=buster
|
||||||
|
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
|
||||||
|
|
||||||
|
MAINTAINER "${MAINTAINER_NAME} <${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 . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
|
||||||
|
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
EOF
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD \
|
||||||
|
printf "machine ${REPO_DOMAIN} " > ~/.netrc && \
|
||||||
|
printf "login ${REPO_USERNAME} " >> ~/.netrc && \
|
||||||
|
printf "password " >> ~/.netrc && \
|
||||||
|
cat /run/secrets/REPO_PASSWORD >> ~/.netrc && \
|
||||||
|
cp -f ~/.netrc /etc/apt/auth.conf
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
RUN curl --netrc -o ${GPG_KEY} https://${REPO_DOMAIN}/repo/deb/debian-unstable/signalwire-freeswitch-repo.gpg
|
||||||
|
|
||||||
|
# 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 apt-get -q update && \
|
||||||
|
mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
|
||||||
|
apt-get -y -f install
|
||||||
|
|
||||||
|
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/ /
|
|
@ -0,0 +1,96 @@
|
||||||
|
ARG BUILDER_IMAGE=arm32v7/debian:buster-20240513
|
||||||
|
|
||||||
|
FROM --platform=linux/arm32 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
ARG REPO_DOMAIN=freeswitch.signalwire.com
|
||||||
|
ARG REPO_USERNAME=user
|
||||||
|
ARG REPO_PASSWORD=password
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=buster
|
||||||
|
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
|
||||||
|
|
||||||
|
MAINTAINER "${MAINTAINER_NAME} <${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 . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
|
||||||
|
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev ${CODENAME} main
|
||||||
|
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev ${CODENAME} main
|
||||||
|
EOF
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD \
|
||||||
|
printf "machine ${REPO_DOMAIN} " > ~/.netrc && \
|
||||||
|
printf "login ${REPO_USERNAME} " >> ~/.netrc && \
|
||||||
|
printf "password " >> ~/.netrc && \
|
||||||
|
cat /run/secrets/REPO_PASSWORD >> ~/.netrc && \
|
||||||
|
cp -f ~/.netrc /etc/apt/auth.conf
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
RUN curl --netrc -o ${GPG_KEY} https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev/signalwire-freeswitch-repo.gpg
|
||||||
|
|
||||||
|
# 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 apt-get -q update && \
|
||||||
|
mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
|
||||||
|
apt-get -y -f install
|
||||||
|
|
||||||
|
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/ /
|
|
@ -0,0 +1,96 @@
|
||||||
|
ARG BUILDER_IMAGE=arm64v8/debian:buster-20240513
|
||||||
|
|
||||||
|
FROM --platform=linux/arm64 ${BUILDER_IMAGE} AS builder
|
||||||
|
|
||||||
|
ARG MAINTAINER_NAME="Andrey Volk"
|
||||||
|
ARG MAINTAINER_EMAIL="andrey@signalwire.com"
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
ARG REPO_DOMAIN=freeswitch.signalwire.com
|
||||||
|
ARG REPO_USERNAME=user
|
||||||
|
ARG REPO_PASSWORD=password
|
||||||
|
|
||||||
|
ARG BUILD_NUMBER=42
|
||||||
|
ARG GIT_SHA=0000000000
|
||||||
|
|
||||||
|
ARG DATA_DIR=/data
|
||||||
|
ARG CODENAME=buster
|
||||||
|
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
|
||||||
|
|
||||||
|
MAINTAINER "${MAINTAINER_NAME} <${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 . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
|
||||||
|
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
|
||||||
|
EOF
|
||||||
|
|
||||||
|
RUN --mount=type=secret,id=REPO_PASSWORD \
|
||||||
|
printf "machine ${REPO_DOMAIN} " > ~/.netrc && \
|
||||||
|
printf "login ${REPO_USERNAME} " >> ~/.netrc && \
|
||||||
|
printf "password " >> ~/.netrc && \
|
||||||
|
cat /run/secrets/REPO_PASSWORD >> ~/.netrc && \
|
||||||
|
cp -f ~/.netrc /etc/apt/auth.conf
|
||||||
|
|
||||||
|
RUN git config --global --add safe.directory '*' \
|
||||||
|
&& git config --global user.name "${MAINTAINER_NAME}" \
|
||||||
|
&& git config --global user.email "${MAINTAINER_EMAIL}"
|
||||||
|
|
||||||
|
RUN curl --netrc -o ${GPG_KEY} https://${REPO_DOMAIN}/repo/deb/debian-unstable/signalwire-freeswitch-repo.gpg
|
||||||
|
|
||||||
|
# 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 apt-get -q update && \
|
||||||
|
mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
|
||||||
|
apt-get -y -f install
|
||||||
|
|
||||||
|
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/ /
|
|
@ -0,0 +1,107 @@
|
||||||
|
name: Build and Distribute
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- "**"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.head_ref || github.ref }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
excludes:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
deb: ${{ steps.deb.outputs.excludes }}
|
||||||
|
steps:
|
||||||
|
- id: deb
|
||||||
|
name: Generate Matrix excludes for DEB
|
||||||
|
run: |
|
||||||
|
JSON="[]"
|
||||||
|
|
||||||
|
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
|
||||||
|
JSON=$(jq -n '[
|
||||||
|
{
|
||||||
|
"version": "bookworm",
|
||||||
|
"platform": {
|
||||||
|
"name": "amd64"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "bookworm",
|
||||||
|
"platform": {
|
||||||
|
"name": "arm64v8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "bullseye"
|
||||||
|
}
|
||||||
|
]')
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "excludes=$(echo $JSON | jq -c .)" | tee -a $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
deb:
|
||||||
|
name: 'DEB'
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: read
|
||||||
|
needs:
|
||||||
|
- excludes
|
||||||
|
uses: signalwire/actions-template/.github/workflows/cicd-docker-build-and-distribute.yml@main
|
||||||
|
strategy:
|
||||||
|
# max-parallel: 1
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- debian
|
||||||
|
version:
|
||||||
|
- bookworm
|
||||||
|
- bullseye
|
||||||
|
- buster
|
||||||
|
platform:
|
||||||
|
- name: amd64
|
||||||
|
runner: ubuntu-latest
|
||||||
|
- name: arm32v7
|
||||||
|
runner: linux-arm64-4-core-public
|
||||||
|
- name: arm64v8
|
||||||
|
runner: linux-arm64-4-core-public
|
||||||
|
exclude: ${{ fromJson(needs.excludes.outputs.deb) }}
|
||||||
|
with:
|
||||||
|
RUNNER: ${{ matrix.platform.runner }}
|
||||||
|
ARTIFACTS_PATTERN: '.*\.(deb|dsc|changes|tar.bz2|tar.gz|tar.lzma|tar.xz)$'
|
||||||
|
DOCKERFILE: .github/docker/${{ matrix.os }}/${{ matrix.version }}/${{ matrix.platform.name }}/Dockerfile
|
||||||
|
MAINTAINER: 'Andrey Volk <andrey@signalwire.com>'
|
||||||
|
META_FILE_PATH_PREFIX: /var/www/freeswitch/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }}
|
||||||
|
PLATFORM: ${{ matrix.platform.name }}
|
||||||
|
REPO_DOMAIN: freeswitch.signalwire.com
|
||||||
|
TARGET_ARTIFACT_NAME: ${{ matrix.os }}-${{ matrix.version }}-${{ matrix.platform.name }}-artifact
|
||||||
|
UPLOAD_BUILD_ARTIFACTS: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.title, ':upload-artifacts') }}
|
||||||
|
secrets:
|
||||||
|
GH_BOT_DEPLOY_TOKEN: ${{ secrets.PAT }}
|
||||||
|
HOSTNAME: ${{ secrets.HOSTNAME }}
|
||||||
|
PROXY_URL: ${{ secrets.PROXY_URL }}
|
||||||
|
USERNAME: ${{ secrets.USERNAME }}
|
||||||
|
TELEPORT_TOKEN: ${{ secrets.TELEPORT_TOKEN }}
|
||||||
|
REPO_USERNAME: 'signalwire'
|
||||||
|
REPO_PASSWORD: ${{ secrets.REPOTOKEN }}
|
||||||
|
|
||||||
|
meta:
|
||||||
|
name: 'Publish build data to meta-repo'
|
||||||
|
if: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.title, ':upload-artifacts') }}
|
||||||
|
needs:
|
||||||
|
- deb
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: read
|
||||||
|
uses: signalwire/actions-template/.github/workflows/meta-repo-content.yml@main
|
||||||
|
with:
|
||||||
|
META_CONTENT: '/var/www/freeswitch/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }}'
|
||||||
|
META_REPO: signalwire/bamboo_gha_trigger
|
||||||
|
META_REPO_BRANCH: trigger/freeswitch/${{ github.ref_name }}
|
||||||
|
secrets:
|
||||||
|
GH_BOT_DEPLOY_TOKEN: ${{ secrets.PAT }}
|
Loading…
Reference in New Issue