@@ -217,7 +217,7 @@ jobs:
217217 mv ./build/PKGBUILD ./artifacts/
218218
219219 - name : Validate package
220- uses : hapakaien /archlinux-package-action@v2.2.0
220+ uses : LizardByte /archlinux-package-action@master
221221 with :
222222 path : artifacts
223223 flags : ' --syncdeps --noconfirm'
@@ -234,7 +234,7 @@ jobs:
234234
235235 - name : Publish AUR package
236236 if : ${{ env.aur_publish == 'true' }}
237- uses : KSXGitHub/github-actions-deploy-aur@v2.5 .0
237+ uses : KSXGitHub/github-actions-deploy-aur@v2.6 .0
238238 with :
239239 pkgname : ${{ env.aur_pkg }}
240240 pkgbuild : ./artifacts/PKGBUILD
@@ -260,17 +260,21 @@ jobs:
260260
261261 - name : Setup Dependencies Linux Flatpak
262262 run : |
263+ PLATFORM_VERSION=21.08
264+
263265 sudo apt-get update -y
264266 sudo apt-get install -y \
265267 cmake \
266- qemu-user-static \
267- flatpak
268- sudo su $(whoami) -c ' flatpak --user remote-add --if-not-exists flathub \
269- https://flathub.org/repo/flathub.flatpakrepo'
270- sudo su $(whoami) -c ' flatpak --user install -y flathub \
268+ flatpak \
269+ qemu-user-static
270+ sudo su $(whoami) -c " flatpak --user remote-add --if-not-exists flathub \
271+ https://flathub.org/repo/flathub.flatpakrepo"
272+ sudo su $(whoami) -c " flatpak --user install -y flathub \
271273 org.flatpak.Builder \
272- org.freedesktop.Platform/${{ matrix.arch }}/21.08 \
273- org.freedesktop.Sdk/${{ matrix.arch }}/21.08'
274+ org.freedesktop.Platform/${{ matrix.arch }}/${PLATFORM_VERSION} \
275+ org.freedesktop.Sdk/${{ matrix.arch }}/${PLATFORM_VERSION} \
276+ org.freedesktop.Sdk.Extension.node18/${{ matrix.arch }}/${PLATFORM_VERSION} \
277+ "
274278
275279 - name : Cache Flatpak build
276280 uses : actions/cache@v3
@@ -349,16 +353,21 @@ jobs:
349353
350354 build_linux :
351355 name : Linux
352- runs-on : ubuntu-20.04
356+ runs-on : ubuntu-${{ matrix.dist }}
353357 needs : [check_changelog, setup_release]
354358 strategy :
355359 fail-fast : false # false to test all, true to fail entire job if any fail
356360 matrix :
357361 include : # package these differently
358362 - type : cpack
359363 EXTRA_ARGS : ' '
364+ dist : 20.04
365+ - type : cpack
366+ EXTRA_ARGS : ' '
367+ dist : 22.04
360368 - type : appimage
361369 EXTRA_ARGS : ' -DSUNSHINE_CONFIGURE_APPIMAGE=ON'
370+ dist : 20.04
362371
363372 steps :
364373 - name : Checkout
@@ -368,26 +377,59 @@ jobs:
368377
369378 - name : Setup Dependencies Linux
370379 run : |
371- sudo add-apt-repository ppa:savoury1/ffmpeg4 -y
372- # sudo add-apt-repository ppa:savoury1/boost-defaults-1.71 -y
373380 sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
374381
375- sudo apt-get update -y
382+ if [[ ${{ matrix.dist }} == "18.04" ]]; then
383+ # Ubuntu 18.04 packages
384+ sudo add-apt-repository ppa:savoury1/boost-defaults-1.71 -y
385+
386+ sudo apt-get update -y
387+ sudo apt-get install -y \
388+ libboost-filesystem1.71-dev \
389+ libboost-log1.71-dev \
390+ libboost-regex1.71-dev \
391+ libboost-thread1.71-dev
392+
393+ # Install cmake
394+ wget https://cmake.org/files/v3.22/cmake-3.22.2-linux-x86_64.sh
395+ chmod +x cmake-3.22.2-linux-x86_64.sh
396+ mkdir /opt/cmake
397+ ./cmake-3.22.2-linux-x86_64.sh --prefix=/opt/cmake --skip-license
398+ ln --force --symbolic /opt/cmake/bin/cmake /usr/local/bin/cmake
399+ cmake --version
400+
401+ # install newer tar from focal... appimagelint fails on 18.04 without this
402+ echo "original tar version"
403+ tar --version
404+ wget -O tar.deb http://security.ubuntu.com/ubuntu/pool/main/t/tar/tar_1.30+dfsg-7ubuntu0.20.04.2_amd64.deb
405+ sudo apt-get -y install -f ./tar.deb
406+ echo "new tar version"
407+ tar --version
408+ else
409+ # Ubuntu 20.04+ packages
410+ sudo apt-get update -y
411+ sudo apt-get install -y \
412+ cmake \
413+ libboost-filesystem-dev \
414+ libboost-log-dev \
415+ libboost-thread-dev
416+ fi
417+
376418 sudo apt-get install -y \
377419 build-essential \
378- cmake \
379420 gcc-10 \
380421 g++-10 \
381422 libavdevice-dev \
382- libboost-filesystem-dev \
383- libboost-log-dev \
384- libboost-thread-dev \
385423 libcap-dev \
424+ libcurl4-openssl-dev \
386425 libdrm-dev \
387426 libevdev-dev \
388- libpulse -dev \
427+ libnuma -dev \
389428 libopus-dev \
429+ libpulse-dev \
390430 libssl-dev \
431+ libva-dev \
432+ libvdpau-dev \
391433 libwayland-dev \
392434 libx11-dev \
393435 libxcb-shm0-dev \
@@ -397,24 +439,19 @@ jobs:
397439 libxrandr-dev \
398440 libxtst-dev \
399441 wget
400- # # Ubuntu 20.04+ packages
401- # libboost-filesystem-dev
402- # libboost-log-dev
403- # libboost-thread-dev
404-
405- # # Ubuntu 18.04 packages
406- # libboost-filesystem1.71-dev \
407- # libboost-log1.71-dev \
408- # libboost-regex1.71-dev \
409- # libboost-thread1.71-dev \
410442
411443 # clean apt cache
412444 sudo apt-get clean
413445 sudo rm -rf /var/lib/apt/lists/*
414446
415447 # Update gcc alias
448+ # https://stackoverflow.com/a/70653945/11214013
416449 sudo update-alternatives --install \
417- /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
450+ /usr/bin/gcc gcc /usr/bin/gcc-10 100 \
451+ --slave /usr/bin/g++ g++ /usr/bin/g++-10 \
452+ --slave /usr/bin/gcov gcov /usr/bin/gcov-10 \
453+ --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-10 \
454+ --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-10
418455
419456 # Install CuDA
420457 sudo wget \
@@ -424,19 +461,15 @@ jobs:
424461 sudo /root/cuda.run --silent --toolkit --toolkitpath=/usr --no-opengl-libs --no-man-page --no-drm
425462 sudo rm /root/cuda.run
426463
427- # # Install cmake (necessary for 18.04)
428- # wget https://cmake.org/files/v3.22/cmake-3.22.2-linux-x86_64.sh
429- # chmod +x cmake-3.22.2-linux-x86_64.sh
430- # mkdir /opt/cmake
431- # ./cmake-3.22.2-linux-x86_64.sh --prefix=/opt/cmake --skip-license
432- # ln --force --symbolic /opt/cmake/bin/cmake /usr/local/bin/cmake
433- # cmake --version
434-
435464 - name : Build Linux
436465 run : |
437466 mkdir -p build
438467 mkdir -p artifacts
439468
469+ pushd "./src_assets/common/assets/web"
470+ npm install
471+ popd
472+
440473 cd build
441474 cmake -DCMAKE_BUILD_TYPE=Release \
442475 -DCMAKE_INSTALL_PREFIX=/usr \
@@ -454,13 +487,13 @@ jobs:
454487 if : ${{ matrix.type == 'cpack' }}
455488 working-directory : build
456489 run : |
457- # package
458490 cpack -G DEB
459- cpack -G RPM
491+ mv ./cpack_artifacts/Sunshine.deb ../artifacts/sunshine-${{ matrix.dist }}.deb
460492
461- # move
462- mv ./cpack_artifacts/Sunshine.deb ../artifacts/sunshine.deb
463- mv ./cpack_artifacts/Sunshine.rpm ../artifacts/sunshine.rpm
493+ if [[ ${{ matrix.dist }} == "20.04" ]]; then
494+ cpack -G RPM
495+ mv ./cpack_artifacts/Sunshine.rpm ../artifacts/sunshine.rpm
496+ fi
464497
465498 - name : Set AppImage Version
466499 if : ${{ matrix.type == 'appimage' && ( needs.check_changelog.outputs.next_version_bare != needs.check_changelog.outputs.last_version ) }} # yamllint disable-line rule:line-length
@@ -517,7 +550,7 @@ jobs:
517550 - name : Upload Artifacts
518551 uses : actions/upload-artifact@v3
519552 with :
520- name : sunshine-linux-${{ matrix.type }}
553+ name : sunshine-linux-${{ matrix.type }}-${{ matrix.dist }}
521554 path : artifacts/
522555
523556 - name : Create/Update GitHub Release
@@ -548,13 +581,17 @@ jobs:
548581 - name : Setup Dependencies MacOS
549582 run : |
550583 # install dependencies using homebrew
551- brew install boost cmake ffmpeg opus
584+ brew install boost cmake curl node opus
552585
553586 # fix openssl header not found
554587 ln -sf /usr/local/opt/openssl/include/openssl /usr/local/include/openssl
555588
556589 - name : Build MacOS
557590 run : |
591+ pushd "./src_assets/common/assets/web"
592+ npm install
593+ popd
594+
558595 mkdir build
559596 cd build
560597 cmake -DCMAKE_BUILD_TYPE=Release \
@@ -846,6 +883,7 @@ jobs:
846883 mingw-w64-x86_64-binutils
847884 mingw-w64-x86_64-boost
848885 mingw-w64-x86_64-cmake
886+ mingw-w64-x86_64-curl
849887 mingw-w64-x86_64-nsis
850888 mingw-w64-x86_64-openssl
851889 mingw-w64-x86_64-opus
@@ -854,6 +892,11 @@ jobs:
854892 nasm
855893 yasm
856894
895+ - name : Install npm packages
896+ working-directory : src_assets/common/assets/web
897+ run : |
898+ npm install
899+
857900 - name : Build Windows
858901 shell : msys2 {0}
859902 run : |
@@ -901,7 +944,7 @@ jobs:
901944
902945 release-winget :
903946 name : Release to WinGet
904- needs : build_win
947+ needs : [setup_release, build_win]
905948 if : ${{ needs.setup_release.outputs.create_release == 'true' && github.ref == 'refs/heads/master' }}
906949 runs-on : windows-latest # the required action can only be run on Windows
907950 steps :
0 commit comments