From 6c34b27283cb2a46f8ef97bb2eed1cf075f10316 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 Aug 2025 09:40:14 +0000 Subject: [PATCH] Add single-threaded build fallback for both Debian and RPM builds Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com> --- .github/workflows/build-ci.yml | 2 +- .github/workflows/build-cloudsmith.yml | 2 +- Autobuild/debian.sh | 21 ++++++++++++++++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index 1623441db..bd44d4c2e 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -244,7 +244,7 @@ jobs: - 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 -j$(nproc) + 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) || (echo "PARALLEL BUILD FAILED, DOING SINGLE THREADED BUILD" && make -C rpm build) - name: copy-result run: cp rpm/RPMS/*/tvheadend*.rpm . - uses: actions/upload-artifact@v4 diff --git a/.github/workflows/build-cloudsmith.yml b/.github/workflows/build-cloudsmith.yml index 47f519469..c6c2c64db 100644 --- a/.github/workflows/build-cloudsmith.yml +++ b/.github/workflows/build-cloudsmith.yml @@ -255,7 +255,7 @@ jobs: - 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 -j$(nproc) + 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) || (echo "PARALLEL BUILD FAILED, DOING SINGLE THREADED BUILD" && make -C rpm build) - name: copy-result run: cp rpm/RPMS/*/tvheadend*.rpm . - uses: actions/upload-artifact@v4 diff --git a/Autobuild/debian.sh b/Autobuild/debian.sh index a4644a9c9..b73cbd032 100755 --- a/Autobuild/debian.sh +++ b/Autobuild/debian.sh @@ -43,7 +43,26 @@ build() export USE_CCACHE - dpkg-buildpackage -b -us -uc + # Try parallel build first, fallback to single-threaded if it fails + if ! dpkg-buildpackage -b -us -uc; then + echo "PARALLEL BUILD FAILED, DOING SINGLE THREADED BUILD" + # Backup original parallel settings + ORIGINAL_JARGS="$JARGS" + ORIGINAL_JOBSARGS="$JOBSARGS" + # Set single-threaded + export JARGS="-j1" + export JOBSARGS="--jobs=1" + # Retry build + if ! dpkg-buildpackage -b -us -uc; then + # Restore original settings before exiting + export JARGS="$ORIGINAL_JARGS" + export JOBSARGS="$ORIGINAL_JOBSARGS" + exit 1 + fi + # Restore original settings + export JARGS="$ORIGINAL_JARGS" + export JOBSARGS="$ORIGINAL_JOBSARGS" + fi } clean() -- 2.47.3