mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-07-04 19:31:56 +00:00
[GHA] Add build workflow.
This commit is contained in:
@@ -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/ /
|
||||
Reference in New Issue
Block a user