]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Add single-threaded build fallback for both Debian and RPM builds
authorcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Thu, 21 Aug 2025 09:40:14 +0000 (09:40 +0000)
committerFlole <Flole998@users.noreply.github.com>
Fri, 22 Aug 2025 13:43:29 +0000 (15:43 +0200)
Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
.github/workflows/build-ci.yml
.github/workflows/build-cloudsmith.yml
Autobuild/debian.sh

index 1623441db20c0a9317f0446f6dd110f9bf67bfc8..bd44d4c2e985607afbd0db976309a85d72eb4718 100644 (file)
@@ -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
index 47f519469cff028ff0bd29dda676514b64d6a47e..c6c2c64dbcbee6351aa5c9b178170966613b00aa 100644 (file)
@@ -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
index a4644a9c9de04a2264d89b2167ade842ffeebfb7..b73cbd03290fa0be6da50c41f068c3c686e28783 100755 (executable)
@@ -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()