import_github_env: true
commands: |
sudo apt-get update -y
- 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
+ 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
DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh -p raspios
support/cloudsmith.sh -n -p raspios -f '../tvheadend*.deb'
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
- name: Tvheadend-deb
+ name: Tvheadend-RPiOS-${{ matrix.arch }}
path: tvheadend*.deb
if-no-files-found: error
arch: [ armv7, aarch64]
distro: [ stretch, buster, bullseye, bookworm, ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest ]
include:
- - arch: armv6
- distro: jessie
- arch: armv6
distro: stretch
- arch: armv6
distro: buster
- arch: armv6
distro: bullseye
- - arch: armv7
- distro: jessie
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- - uses: uraimo/run-on-arch-action@v2
+ - uses: uraimo/run-on-arch-action@v3
name: Build artifact
id: build
with:
if [ '${{ matrix.distro }}' = 'stretch' ]; then sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list; fi
if [ '${{ matrix.distro }}' = 'stretch' ]; then sed -i '/stretch-updates/d' /etc/apt/sources.list; fi
case "${{ matrix.distro }}" in
- ubuntu*|jessie|stretch|buster|bullseye|bookworm)
+ ubuntu*|jessie|stretch|buster|bullseye|bookworm|trixie)
apt-get update -y
- 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
+ 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
DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
;;
fedora*)
git config --global --add safe.directory /home/runner/work/tvheadend/tvheadend || true
AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh
cp ../tvheadend*.deb /artifacts/
+ if [ '${{ matrix.distro }}' = 'buster' ] && [ '${{ matrix.arch }}' = 'armv7' ]; then update-ca-certificates --fresh; fi
support/cloudsmith.sh -n -f '../tvheadend*.deb'
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
- name: Tvheadend-deb
+ name: Tvheadend-${{ matrix.distro }}-${{ matrix.arch }}
path: artifacts/tvheadend*.deb
if-no-files-found: error
build-deb-native:
runs-on: ubuntu-latest
continue-on-error: true
- name: Build on native ${{ matrix.container }}
+ name: Build on native ${{ matrix.container[1] }}
strategy:
matrix:
- 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"]
- container:
- image: ${{ matrix.container }}
- env:
- ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
+ 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"]]
steps:
- - name: Fix old debian apt
- if: matrix.container == 'debian:stretch' || matrix.container == 'i386/debian:stretch'
+ - name: Setup container
run: |
- sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list
- sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list
- sed -i '/stretch-updates/d' /etc/apt/sources.list
+ docker pull ${{ matrix.container[0] }}
+ docker run --name build-container -d -v ${{ github.workspace }}:/workspace ${{ matrix.container[0] }} tail -f /dev/null
+ - name: Fix old debian apt
+ if: matrix.container[0] == 'debian:stretch' || matrix.container[0] == 'i386/debian:stretch'
+ env:
+ SCRIPT: |
+ sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list
+ sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list
+ sed -i '/stretch-updates/d' /etc/apt/sources.list
+ run: docker exec build-container bash -c "$SCRIPT"
- name: Add git ppa
- if: startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'i386/ubuntu')
- run: |
- apt-get update -y
- DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y software-properties-common
- add-apt-repository ppa:git-core/ppa -y
+ if: startsWith(matrix.container[0], 'ubuntu') || startsWith(matrix.container[0], 'i386/ubuntu')
+ env:
+ SCRIPT: |
+ apt-get update -y
+ DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y software-properties-common
+ add-apt-repository ppa:git-core/ppa -y
+ run: docker exec build-container bash -c "$SCRIPT"
- name: dependencies
- run: |
- apt-get update -y
- 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
+ env:
+ SCRIPT: |
+ apt-get update -y
+ 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
+ run: docker exec build-container bash -c "$SCRIPT"
- name: pcre-dependency
- run: |
- DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
+ env:
+ SCRIPT: |
+ DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
+ run: docker exec build-container bash -c "$SCRIPT"
- uses: actions/checkout@v3
- if: startsWith(matrix.container, 'i386') != true && matrix.container != 'debian:stretch'
with:
fetch-depth: 0
- - uses: actions/checkout@v1
- if: startsWith(matrix.container, 'i386') || matrix.container == 'debian:stretch'
- name: Workaround safe directory
- run: git config --global --add safe.directory /__w/tvheadend/tvheadend
+ env:
+ SCRIPT: |
+ git config --global --add safe.directory /workspace
+ run: docker exec build-container bash -c "$SCRIPT"
- name: build
- run: AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh ${{ (startsWith(matrix.container, 'i386') && '-a i386') || '' }}
+ env:
+ SCRIPT: |
+ cd /workspace
+ AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh ${{ (startsWith(matrix.container[0], 'i386') && '-a i386') || '' }}
+ run: docker exec build-container bash -c "$SCRIPT"
- name: copy-result
- run: cp ../tvheadend*.deb .
- - uses: actions/upload-artifact@v3
- if: startsWith(matrix.container, 'i386') != true
+ env:
+ SCRIPT: |
+ cp tvheadend*.deb workspace/
+ run: docker exec build-container bash -c "$SCRIPT"
+ - uses: actions/upload-artifact@v4
with:
- name: Tvheadend-deb
+ name: Tvheadend-${{ matrix.container[1] }}
path: tvheadend*.deb
if-no-files-found: error
- name: upload-cloudsmith
- run: support/cloudsmith.sh -n -f 'tvheadend*.deb'
+ env:
+ SCRIPT: |
+ cd /workspace
+ support/cloudsmith.sh -n -f 'tvheadend*.deb'
+ run: docker exec build-container bash -c "$SCRIPT"
build-rpm-native:
runs-on: ubuntu-latest
name: Build on native fedora:${{ matrix.releasever }}
strategy:
matrix:
- releasever: ["37", "38", "39", "rawhide"]
+ releasever: ["37", "38", "39", "40", "41", "42", "rawhide"]
container:
image: "fedora:${{ matrix.releasever }}"
steps:
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)
- name: copy-result
run: cp rpm/RPMS/*/tvheadend*.rpm .
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
- name: Tvheadend-RPM
+ name: Tvheadend-Fedora-${{ matrix.releasever }}
path: tvheadend*.rpm
if-no-files-found: error
- name: upload-cloudsmith
import_github_env: true
commands: |
sudo apt-get update -y
- 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
+ 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
DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh -p raspios
support/cloudsmith.sh -p raspios -f '../tvheadend*.deb'
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
- name: Tvheadend-deb
+ name: Tvheadend-RPiOS-${{ matrix.arch }}
path: tvheadend*.deb
if-no-files-found: error
arch: [ armv7, aarch64]
distro: [ stretch, buster, bullseye, bookworm, ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest ]
include:
- - arch: armv6
- distro: jessie
- arch: armv6
distro: stretch
- arch: armv6
distro: buster
- arch: armv6
distro: bullseye
- - arch: armv7
- distro: jessie
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- - uses: uraimo/run-on-arch-action@v2
+ - uses: uraimo/run-on-arch-action@v3
name: Build artifact
id: build
with:
case "${{ matrix.distro }}" in
ubuntu*|jessie|stretch|buster|bullseye|bookworm|trixie)
apt-get update -y
- 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
+ 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
DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
;;
fedora*)
cp ../tvheadend*.deb /artifacts/
if [ '${{ matrix.distro }}' = 'buster' ] && [ '${{ matrix.arch }}' = 'armv7' ]; then update-ca-certificates --fresh; fi
support/cloudsmith.sh -f '../tvheadend*.deb'
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
- name: Tvheadend-deb
+ name: Tvheadend-${{ matrix.distro }}-${{ matrix.arch }}
path: artifacts/tvheadend*.deb
if-no-files-found: error
build-deb-native:
runs-on: ubuntu-latest
continue-on-error: true
- name: Build on native ${{ matrix.container }}
+ name: Build on native ${{ matrix.container[1] }}
strategy:
matrix:
- container: ["i386/ubuntu:trusty", "ubuntu:trusty", "i386/ubuntu:xenial", "ubuntu:xenial", "ubuntu:bionic", "ubuntu:focal", "ubuntu:jammy", "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", "i386/debian:sid", "debian:sid"]
- container:
- image: ${{ matrix.container }}
- env:
- ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
+ 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"]]
steps:
- - name: Fix old debian apt
- if: matrix.container == 'debian:stretch' || matrix.container == 'i386/debian:stretch'
+ - name: Setup container
run: |
- sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list
- sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list
- sed -i '/stretch-updates/d' /etc/apt/sources.list
+ docker pull ${{ matrix.container[0] }}
+ docker run --name build-container -d -v ${{ github.workspace }}:/workspace ${{ matrix.container[0] }} tail -f /dev/null
+ - name: Fix old debian apt
+ if: matrix.container[0] == 'debian:stretch' || matrix.container[0] == 'i386/debian:stretch'
+ env:
+ SCRIPT: |
+ sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list
+ sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list
+ sed -i '/stretch-updates/d' /etc/apt/sources.list
+ run: docker exec build-container bash -c "$SCRIPT"
- name: Add git ppa
- if: startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'i386/ubuntu')
- run: |
- apt-get update -y
- DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y software-properties-common
- add-apt-repository ppa:git-core/ppa -y
+ if: startsWith(matrix.container[0], 'ubuntu') || startsWith(matrix.container[0], 'i386/ubuntu')
+ env:
+ SCRIPT: |
+ apt-get update -y
+ DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y software-properties-common
+ add-apt-repository ppa:git-core/ppa -y
+ run: docker exec build-container bash -c "$SCRIPT"
- name: dependencies
- run: |
- apt-get update -y
- 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
+ env:
+ SCRIPT: |
+ apt-get update -y
+ 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
+ run: docker exec build-container bash -c "$SCRIPT"
- name: pcre-dependency
- run: |
- DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
+ env:
+ SCRIPT: |
+ DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre3-dev || DEBIAN_FRONTEND=noninteractive apt-get install --force-yes -y libpcre2-dev
+ run: docker exec build-container bash -c "$SCRIPT"
- uses: actions/checkout@v3
- if: startsWith(matrix.container, 'i386') != true && matrix.container != 'debian:stretch'
with:
fetch-depth: 0
- - uses: actions/checkout@v1
- if: startsWith(matrix.container, 'i386') || matrix.container == 'debian:stretch'
- name: Workaround safe directory
- run: git config --global --add safe.directory /__w/tvheadend/tvheadend
+ env:
+ SCRIPT: |
+ git config --global --add safe.directory /workspace
+ run: docker exec build-container bash -c "$SCRIPT"
- name: build
- run: AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh ${{ (startsWith(matrix.container, 'i386') && '-a i386') || '' }}
env:
- NODIRTY: ${{ secrets.NODIRTY }}
+ SCRIPT: |
+ cd /workspace
+ AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh ${{ (startsWith(matrix.container[0], 'i386') && '-a i386') || '' }}
+ run: docker exec build-container bash -c "$SCRIPT"
- name: copy-result
- run: cp ../tvheadend*.deb .
- - uses: actions/upload-artifact@v3
- if: startsWith(matrix.container, 'i386') != true
+ env:
+ SCRIPT: |
+ cp tvheadend*.deb workspace/
+ run: docker exec build-container bash -c "$SCRIPT"
+ - uses: actions/upload-artifact@v4
with:
- name: Tvheadend-deb
+ name: Tvheadend-${{ matrix.container[1] }}
path: tvheadend*.deb
if-no-files-found: error
- name: upload-cloudsmith
- run: support/cloudsmith.sh -f 'tvheadend*.deb'
env:
CLOUDSMITH_ORG: ${{ vars.CLOUDSMITH_ORG }}
CLOUDSMITH_REPO: ${{ vars.CLOUDSMITH_REPO }}
CLOUDSMITH_OWNER: ${{ secrets.CLOUDSMITH_OWNER }}
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_KEY }}
+ SCRIPT: |
+ cd /workspace
+ support/cloudsmith.sh -f 'tvheadend*.deb'
+ run: docker exec build-container bash -c "$SCRIPT" -e CLOUDSMITH_ORG -e CLOUDSMITH_REPO -e CLOUDSMITH_OWNER -e CLOUDSMITH_API_KEY
+
build-rpm-native:
runs-on: ubuntu-latest
name: Build on native fedora:${{ matrix.releasever }}
strategy:
matrix:
- releasever: ["37", "38", "39", "rawhide"]
+ releasever: ["37", "38", "39", "40", "41", "42", "rawhide"]
container:
image: "fedora:${{ matrix.releasever }}"
steps:
- name: Workaround safe directory
run: git config --global --add safe.directory /__w/tvheadend/tvheadend
- name: build
- 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
+ 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)
- name: copy-result
run: cp rpm/RPMS/*/tvheadend*.rpm .
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
- name: Tvheadend-RPM
+ name: Tvheadend-Fedora-${{ matrix.releasever }}
path: tvheadend*.rpm
if-no-files-found: error
- name: upload-cloudsmith
jobs:
build-and-push-image:
runs-on: ubuntu-latest
+ continue-on-error: true
permissions:
contents: read
packages: write
AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --arch=arm64 --disable-libtheora_static --disable-libtheora"
+EXTRA_X265_CMAKE_OPTS="${EXTRA_X265_CMAKE_OPTS:-} -DCROSS_COMPILE_ARM64=1"
\ No newline at end of file
sed -i -E '/-armv6l$/! s/^Package: (.*)(-armv6l)*$/Package: \1-armv6l/g' debian/control
sed -i -E 's/^Depends: tvheadend/Depends: tvheadend-armv6l/g' debian/control
sed -i -E '/armv6l/! s/package=tvheadend([^ ]*)/package=tvheadend\1-armv6l/g' debian/rules
-sed -i -E '/armv6l/! s/--destdir=debian\/tvheadend/--destdir=debian\/tvheadend-armv6l/g' debian/rules
\ No newline at end of file
+sed -i -E '/armv6l/! s/--destdir=debian\/tvheadend/--destdir=debian\/tvheadend-armv6l/g' debian/rules
+EXTRA_X265_CMAKE_OPTS="${EXTRA_X265_CMAKE_OPTS:-} -DCROSS_COMPILE_ARM=1"
\ No newline at end of file
AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --arch=armhf"
+EXTRA_X265_CMAKE_OPTS="${EXTRA_X265_CMAKE_OPTS:-} -DCROSS_COMPILE_ARM=1"
\ No newline at end of file
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
source Autobuild/armv7l.sh
source Autobuild/bionic.sh
export JOBSARGS
export JARGS
export AUTOBUILD_CONFIGURE_EXTRA
+ export EXTRA_X265_CMAKE_OPTS
if ccache=$(which ccache); then
echo "Using ccache"
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
source Autobuild/armv6l.sh
-source Autobuild/raspiosbookworm.sh
+EXTRA_X265_CMAKE_OPTS="${EXTRA_X265_CMAKE_OPTS:-} -DCROSS_COMPILE_ARM=0"
+source Autobuild/raspiosbookworm.sh
\ No newline at end of file
source Autobuild/armv7l.sh
+EXTRA_X265_CMAKE_OPTS="${EXTRA_X265_CMAKE_OPTS:-} -DCROSS_COMPILE_ARM=0"
source Autobuild/raspiosbookworm.sh
source Autobuild/armv6l.sh
-source Autobuild/raspiosbullseye.sh
+EXTRA_X265_CMAKE_OPTS="${EXTRA_X265_CMAKE_OPTS:-} -DCROSS_COMPILE_ARM=0"
+source Autobuild/raspiosbullseye.sh
\ No newline at end of file
source Autobuild/armv7l.sh
-source Autobuild/raspiosbullseye.sh
+EXTRA_X265_CMAKE_OPTS="${EXTRA_X265_CMAKE_OPTS:-} -DCROSS_COMPILE_ARM=0"
+source Autobuild/raspiosbullseye.sh
\ No newline at end of file
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
source Autobuild/armv6l.sh
source Autobuild/stretch.sh
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
source Autobuild/armv7l.sh
source Autobuild/stretch.sh
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
source Autobuild/armv7l.sh
source Autobuild/xenial.sh
LIBX264_URL = https://code.videolan.org/videolan/x264/-/archive/$(LIBX264_VER)/$(LIBX264_TB)
LIBX264_SHA1 = 39132c219a6bae73b322fdfbb3012c6988f3a456
-LIBX265_VER = 3.6
+LIBX265_VER = 4.1
LIBX265 = x265_$(LIBX265_VER)
LIBX265_TB = $(LIBX265).tar.gz
LIBX265_URL = https://bitbucket.org/multicoreware/x265_git/downloads/$(LIBX265_TB)
-LIBX265_SHA1 = 51fc4592a9f1e340d87a51233361cc5a3ffd739d
+LIBX265_SHA1 = 11880a3aa9e4ee618f539a2d6a8ece0ea442f505
LIBX265_DIFFS = libx265.pic.diff
LIBX265_DIFFS += libx265-silence.patch
cd $(LIB_ROOT)/$(LIBX265)/build/linux && cmake -G "Unix Makefiles" \
-DCMAKE_INSTALL_PREFIX="/ffmpeg" \
-DENABLE_SHARED:BOOL=OFF \
+ $(EXTRA_X265_CMAKE_OPTS) \
../../source
DESTDIR=$(EBUILDIR) \
$(MAKE) -C $(LIB_ROOT)/$(LIBX265)/build/linux install
OS="ubuntu";;
raspios*)
OS="raspbian";;
- 37|38|39|40)
+ 37|38|39|40|41)
OS="fedora";;
- 41|42)
- echo -e "${YELLOW}Fedora 40 and 41 (current rawhide) are not (yet) supported by Cloudsmith${NC}" && exit;;
+ 42|43)
+ echo -e "${YELLOW}Fedora 42 and 43 (current rawhide) are not (yet) supported by Cloudsmith${NC}" && exit;;
*) echo -e "${RED}OS $OSPREFIX$TARGET could not be recognized${NC}" && exit 1;;
esac