- 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
- 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
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()