@@ -99,80 +99,14 @@ jobs:
9999 - name : build
100100 run : sh -x ./scripts/do-build.sh cleanbuild
101101
102- DebianPackage :
103- name : Debian Package Build
102+ BuildPackages :
103+ name : Build Packages
104104 needs : [LoadJobs_conf, FullBuild]
105- if : needs.LoadJobs_conf.outputs.do_DebianPackage == 'true'
106- runs-on : ubuntu-24.04
107- steps :
108- - uses : actions/checkout@v4
109- with :
110- submodules : ' recursive'
111- - name : Install build tools
112- run : |
113- sudo apt-get update
114- sudo apt-get install -y build-essential devscripts debhelper pkg-config libssl-dev libbcg729-dev libgsm1-dev libsndfile1-dev libunwind-dev libsrtp2-dev libsystemd-dev fakeroot zip
115- - name : Build Debian package
116- env :
117- DEB_BUILD_OPTIONS : nocheck
118- run : |
119- dpkg-buildpackage -us -uc -b
120-
121- - name : Collect Debian packages
122- run : |
123- set -euo pipefail
124- mkdir -p debian-artifacts
125- shopt -s nullglob
126- for artifact in ../*.deb ../*.ddeb ../*.buildinfo ../*.changes; do
127- [ -e "${artifact}" ] || continue
128- base=$(basename "${artifact}")
129- mv "${artifact}" "debian-artifacts/${base}"
130- done
131-
132- - name : Test install Debian packages
133- run : |
134- set -euo pipefail
135- shopt -s nullglob
136- pkgs=(./debian-artifacts/*.deb)
137- if [ "${#pkgs[@]}" -eq 0 ]; then
138- echo "No Debian packages produced" >&2
139- exit 1
140- fi
141- sudo apt-get install -y "${pkgs[@]}"
142-
143- - name : Exercise systemd service
144- run : |
145- set -euo pipefail
146- trap 'status=$?; sudo journalctl -xeu rtpproxy.service || true; exit $status' ERR
147- trap 'sudo systemctl disable --now rtpproxy.socket || true' EXIT
148- sudo systemctl daemon-reload
149- sudo systemctl enable --now rtpproxy.socket
150- sudo systemctl start rtpproxy.service
151- sudo systemctl status --no-pager rtpproxy.service
152- sudo systemctl restart rtpproxy.service
153- sudo systemctl status --no-pager rtpproxy.service
154- sudo systemctl stop rtpproxy.service
155- sudo systemctl status --no-pager rtpproxy.service || true
156-
157- - name : Setup GitHub Actions artifact client
158- uses : lhotari/gh-actions-artifact-client@v2
159-
160- - name : Upload Debian artifacts
161- run : |
162- set -euo pipefail
163- shopt -s nullglob
164- uploaded=0
165- for file in debian-artifacts/*.deb debian-artifacts/*.ddeb debian-artifacts/*.buildinfo debian-artifacts/*.changes; do
166- [ -e "$file" ] || continue
167- uploaded=1
168- name=$(basename "$file")
169- echo "Uploading $name, file: $file"
170- zip - "$file" | gh-actions-artifact-client.js upload "$name" --retentionDays=7
171- done
172- if [ "$uploaded" -eq 0 ]; then
173- echo "No Debian artifacts found for upload" >&2
174- exit 1
175- fi
105+ uses : sippy/cimagic/.github/workflows/BuildDPKGs.yml@v2
106+ if : always() && needs.LoadJobs_conf.outputs.do_BuildPackages == 'true'
107+ with :
108+ apt_depends : pkg-config libssl-dev libbcg729-dev libgsm1-dev libsndfile1-dev libunwind-dev libsrtp2-dev libsystemd-dev systemd procps
109+ test_dpkgs_script : ./scripts/do-dpkg-test.sh
176110
177111 FullBuild :
178112 name : Full Build
@@ -626,7 +560,10 @@ jobs:
626560
627561 roll_release :
628562 name : Roll Release
629- needs : [LoadJobs_conf, Docker, DebianPackage ]
563+ needs : [LoadJobs_conf, Docker, BuildPackages ]
630564 permissions :
631565 contents : write
632- uses : sippy/cimagic/.github/workflows/RollReleaseDraft.yml@v1
566+ uses : sippy/cimagic/.github/workflows/RollReleaseDraft.yml@v2
567+ with :
568+ release_files_artifacts : |
569+ ${{ needs.BuildPackages.outputs.dpkgs_artifacts }}
0 commit comments