@@ -47,13 +47,13 @@ jobs:
4747 import_github_env : true
4848 commands : |
4949 sudo apt-get update -y
50- sudo apt-get install --force-yes -y cmake git build-essential pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev wget bzip2 git-core liburiparser-dev libdvbcsa-dev python3 python3-requests debhelper ccache lsb-release
50+ sudo apt-get install --force-yes -y cmake git build-essential pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev wget bzip2 git-core liburiparser-dev libdvbcsa-dev python3 python3-requests debhelper ccache lsb-release libc6-dev-armel-cross
5151 DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
5252 AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh -p raspios
5353 support/cloudsmith.sh -n -p raspios -f '../tvheadend*.deb'
54- - uses : actions/upload-artifact@v3
54+ - uses : actions/upload-artifact@v4
5555 with :
56- name : Tvheadend-deb
56+ name : Tvheadend-RPiOS-${{ matrix.arch }}
5757 path : tvheadend*.deb
5858 if-no-files-found : error
5959
@@ -68,22 +68,18 @@ jobs:
6868 arch : [ armv7, aarch64]
6969 distro : [ stretch, buster, bullseye, bookworm, ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest ]
7070 include :
71- - arch : armv6
72- distro : jessie
7371 - arch : armv6
7472 distro : stretch
7573 - arch : armv6
7674 distro : buster
7775 - arch : armv6
7876 distro : bullseye
79- - arch : armv7
80- distro : jessie
8177
8278 steps :
8379 - uses : actions/checkout@v3
8480 with :
8581 fetch-depth : 0
86- - uses : uraimo/run-on-arch-action@v2
82+ - uses : uraimo/run-on-arch-action@v3
8783 name : Build artifact
8884 id : build
8985 with :
@@ -125,9 +121,9 @@ jobs:
125121 if [ '${{ matrix.distro }}' = 'stretch' ]; then sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list; fi
126122 if [ '${{ matrix.distro }}' = 'stretch' ]; then sed -i '/stretch-updates/d' /etc/apt/sources.list; fi
127123 case "${{ matrix.distro }}" in
128- ubuntu*|jessie|stretch|buster|bullseye|bookworm)
124+ ubuntu*|jessie|stretch|buster|bullseye|bookworm|trixie )
129125 apt-get update -y
130- DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y cmake git build-essential pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev wget bzip2 git-core liburiparser-dev libdvbcsa-dev python3 python3-requests debhelper ccache lsb-release
126+ DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y cmake git build-essential pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev wget bzip2 git-core liburiparser-dev libdvbcsa-dev python3 python3-requests debhelper ccache lsb-release libc6-dev-armel-cross
131127 DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
132128 ;;
133129 fedora*)
@@ -145,72 +141,91 @@ jobs:
145141 git config --global --add safe.directory /home/runner/work/tvheadend/tvheadend || true
146142 AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh
147143 cp ../tvheadend*.deb /artifacts/
144+ if [ '${{ matrix.distro }}' = 'buster' ] && [ '${{ matrix.arch }}' = 'armv7' ]; then update-ca-certificates --fresh; fi
148145 support/cloudsmith.sh -n -f '../tvheadend*.deb'
149- - uses : actions/upload-artifact@v3
146+ - uses : actions/upload-artifact@v4
150147 with :
151- name : Tvheadend-deb
148+ name : Tvheadend-${{ matrix.distro }}-${{ matrix.arch }}
152149 path : artifacts/tvheadend*.deb
153150 if-no-files-found : error
154151
155152 build-deb-native :
156153 runs-on : ubuntu-latest
157154 continue-on-error : true
158- name : Build on native ${{ matrix.container }}
155+ name : Build on native ${{ matrix.container[1] }}
159156 strategy :
160157 matrix :
161- container : ["i386/ubuntu:trusty", "ubuntu:trusty", "i386/ubuntu:xenial", "ubuntu:xenial", "ubuntu:bionic", "ubuntu:focal", "ubuntu:jammy", "ubuntu:lunar", "ubuntu:mantic", "ubuntu:noble", "i386/debian:stretch", "debian:stretch", "i386/debian:buster", "debian:buster", "i386/debian:bullseye", "debian:bullseye", "i386/debian:bookworm", "debian:bookworm", "i386/debian:trixie", "debian:trixie", "debian:sid"]
162- container :
163- image : ${{ matrix.container }}
164- env :
165- ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION : true
158+ container : [["i386/ubuntu:trusty", "i386-ubuntu-trusty"], ["ubuntu:trusty", "ubuntu-trusty"], ["i386/ubuntu:xenial", "i386-ubuntu-xenial"], ["ubuntu:xenial", "ubuntu-xenial"], ["ubuntu:bionic", "ubuntu-bionic"], ["ubuntu:focal", "ubuntu-focal"], ["ubuntu:jammy", "ubuntu-jammy"], ["ubuntu:noble", "ubuntu-noble"], ["i386/debian:stretch", "i386-debian-strech"], ["debian:stretch", "debian-stretch"], ["i386/debian:buster", "i386-debian-buster"], ["debian:buster", "debian-buster"], ["i386/debian:bullseye", "i386-debian-bullseye"], ["debian:bullseye", "debian-bullseye"], ["i386/debian:bookworm", "i386-debian-bookworm"], ["debian:bookworm", "debian-bookworm"], ["i386/debian:trixie", "i386-debian-trixie"], ["debian:trixie", "debian-trixie"], ["i386/debian:sid", "i386-debian-sid"], ["debian:sid", "debian-sid"]]
166159 steps :
167- - name : Fix old debian apt
168- if : matrix.container == 'debian:stretch' || matrix.container == 'i386/debian:stretch'
160+ - name : Setup container
169161 run : |
170- sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list
171- sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list
172- sed -i '/stretch-updates/d' /etc/apt/sources.list
162+ docker pull ${{ matrix.container[0] }}
163+ docker run --name build-container -d -v ${{ github.workspace }}:/workspace ${{ matrix.container[0] }} tail -f /dev/null
164+ - name : Fix old debian apt
165+ if : matrix.container[0] == 'debian:stretch' || matrix.container[0] == 'i386/debian:stretch'
166+ env :
167+ SCRIPT : |
168+ sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list
169+ sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list
170+ sed -i '/stretch-updates/d' /etc/apt/sources.list
171+ run : docker exec build-container bash -c "$SCRIPT"
173172 - name : Add git ppa
174- if : startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'i386/ubuntu')
175- run : |
176- apt-get update -y
177- DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y software-properties-common
178- add-apt-repository ppa:git-core/ppa -y
173+ if : startsWith(matrix.container[0], 'ubuntu') || startsWith(matrix.container[0], 'i386/ubuntu')
174+ env :
175+ SCRIPT : |
176+ apt-get update -y
177+ DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y software-properties-common
178+ add-apt-repository ppa:git-core/ppa -y
179+ run : docker exec build-container bash -c "$SCRIPT"
179180 - name : dependencies
180- run : |
181- apt-get update -y
182- DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y cmake git build-essential pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev wget bzip2 git-core liburiparser-dev libdvbcsa-dev python3 python3-requests debhelper ccache lsb-release
181+ env :
182+ SCRIPT : |
183+ apt-get update -y
184+ DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y cmake git build-essential pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev wget bzip2 git-core liburiparser-dev libdvbcsa-dev python3 python3-requests debhelper ccache lsb-release
185+ run : docker exec build-container bash -c "$SCRIPT"
183186 - name : pcre-dependency
184- run : |
185- DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
187+ env :
188+ SCRIPT : |
189+ DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
190+ run : docker exec build-container bash -c "$SCRIPT"
186191 - uses : actions/checkout@v3
187- if : startsWith(matrix.container, 'i386') != true && matrix.container != 'debian:stretch'
188192 with :
189193 fetch-depth : 0
190- - uses : actions/checkout@v1
191- if : startsWith(matrix.container, 'i386') || matrix.container == 'debian:stretch'
192194 - name : Workaround safe directory
193- run : git config --global --add safe.directory /__w/tvheadend/tvheadend
195+ env :
196+ SCRIPT : |
197+ git config --global --add safe.directory /workspace
198+ run : docker exec build-container bash -c "$SCRIPT"
194199 - name : build
195- run : AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh ${{ (startsWith(matrix.container, 'i386') && '-a i386') || '' }}
200+ env :
201+ SCRIPT : |
202+ cd /workspace
203+ AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh ${{ (startsWith(matrix.container[0], 'i386') && '-a i386') || '' }}
204+ run : docker exec build-container bash -c "$SCRIPT"
196205 - name : copy-result
197- run : cp ../tvheadend*.deb .
198- - uses : actions/upload-artifact@v3
199- if : startsWith(matrix.container, 'i386') != true
206+ env :
207+ SCRIPT : |
208+ cp tvheadend*.deb workspace/
209+ run : docker exec build-container bash -c "$SCRIPT"
210+ - uses : actions/upload-artifact@v4
200211 with :
201- name : Tvheadend-deb
212+ name : Tvheadend-${{ matrix.container[1] }}
202213 path : tvheadend*.deb
203214 if-no-files-found : error
204215 - name : upload-cloudsmith
205- run : support/cloudsmith.sh -n -f 'tvheadend*.deb'
216+ env :
217+ SCRIPT : |
218+ cd /workspace
219+ support/cloudsmith.sh -n -f 'tvheadend*.deb'
220+ run : docker exec build-container bash -c "$SCRIPT"
206221
207222 build-rpm-native :
208223 runs-on : ubuntu-latest
209224 continue-on-error : true
210225 name : Build on native fedora:${{ matrix.releasever }}
211226 strategy :
212227 matrix :
213- releasever : ["37", "38", "39", "rawhide"]
228+ releasever : ["37", "38", "39", "40", "41", "42", " rawhide"]
214229 container :
215230 image : " fedora:${{ matrix.releasever }}"
216231 steps :
@@ -228,9 +243,9 @@ jobs:
228243 run : ./configure --disable-dvbscan --disable-libfdkaac_static --disable-ffmpeg_static --disable-hdhomerun_static --disable-libfdkaac_static --disable-libopus_static --disable-libtheora_static --disable-libvorbis_static --disable-libvpx_static --disable-libx264_static --disable-libx265_static --enable-libfdkaac --enable-hdhomerun_client --enable-libsystemd_daemon --python=/usr/bin/python3 && make -C rpm build -j$(nproc)
229244 - name : copy-result
230245 run : cp rpm/RPMS/*/tvheadend*.rpm .
231- - uses : actions/upload-artifact@v3
246+ - uses : actions/upload-artifact@v4
232247 with :
233- name : Tvheadend-RPM
248+ name : Tvheadend-Fedora-${{ matrix.releasever }}
234249 path : tvheadend*.rpm
235250 if-no-files-found : error
236251 - name : upload-cloudsmith
0 commit comments