@@ -251,7 +251,7 @@ jobs:
251
251
../artifacts/sunshine_debug_${{ matrix.arch }}.flatpak dev.lizardbyte.sunshine.Debug'
252
252
253
253
- name : Upload Artifacts
254
- uses : actions/upload-artifact@v3
254
+ uses : actions/upload-artifact@v4
255
255
with :
256
256
name : sunshine-linux-flatpak-${{ matrix.arch }}
257
257
path : artifacts/
@@ -286,7 +286,7 @@ jobs:
286
286
- name : Maximize build space
287
287
uses : easimon/maximize-build-space@v8
288
288
with :
289
- root-reserve-mb : 20480
289
+ root-reserve-mb : 30720
290
290
remove-dotnet : ' true'
291
291
remove-android : ' true'
292
292
remove-haskell : ' true'
@@ -325,7 +325,7 @@ jobs:
325
325
# install newer tar from focal... appimagelint fails on 18.04 without this
326
326
echo "original tar version"
327
327
tar --version
328
- wget -O tar.deb http://security.ubuntu.com/ubuntu/pool/main/t/tar/tar_1.30+dfsg-7ubuntu0.20.04.2_amd64 .deb
328
+ wget -O tar.deb http://security.ubuntu.com/ubuntu/pool/main/t/tar/tar_1.30+dfsg-7ubuntu0.20.04.3_amd64 .deb
329
329
sudo apt-get -y install -f ./tar.deb
330
330
echo "new tar version"
331
331
tar --version
@@ -350,6 +350,7 @@ jobs:
350
350
libcurl4-openssl-dev \
351
351
libdrm-dev \
352
352
libevdev-dev \
353
+ libminiupnpc-dev \
353
354
libmfx-dev \
354
355
libnotify-dev \
355
356
libnuma-dev \
@@ -398,10 +399,10 @@ jobs:
398
399
mkdir -p build
399
400
mkdir -p artifacts
400
401
401
- npm install
402
-
403
402
cd build
404
- cmake -DCMAKE_BUILD_TYPE=Release \
403
+ cmake \
404
+ -DBUILD_WERROR=ON \
405
+ -DCMAKE_BUILD_TYPE=Release \
405
406
-DCMAKE_INSTALL_PREFIX=/usr \
406
407
-DSUNSHINE_ASSETS_DIR=share/sunshine \
407
408
-DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine \
@@ -427,7 +428,9 @@ jobs:
427
428
fi
428
429
429
430
- name : Set AppImage Version
430
- if : ${{ matrix.type == 'AppImage' && ( needs.check_changelog.outputs.next_version_bare != needs.check_changelog.outputs.last_version ) }} # yamllint disable-line rule:line-length
431
+ if : |
432
+ matrix.type == 'AppImage' &&
433
+ (needs.check_changelog.outputs.next_version_bare != needs.check_changelog.outputs.last_version)
431
434
run : |
432
435
version=${{ needs.check_changelog.outputs.next_version_bare }}
433
436
echo "VERSION=${version}" >> $GITHUB_ENV
@@ -483,7 +486,7 @@ jobs:
483
486
./appimagelint-x86_64.AppImage ./artifacts/sunshine.AppImage
484
487
485
488
- name : Upload Artifacts
486
- uses : actions/upload-artifact@v3
489
+ uses : actions/upload-artifact@v4
487
490
with :
488
491
name : sunshine-linux-${{ matrix.type }}-${{ matrix.dist }}
489
492
path : artifacts/
@@ -506,6 +509,8 @@ jobs:
506
509
name : MacOS
507
510
runs-on : macos-11
508
511
needs : [check_changelog, setup_release]
512
+ env :
513
+ BOOST_VERSION : 1.83.0
509
514
510
515
steps :
511
516
- name : Checkout
@@ -516,27 +521,71 @@ jobs:
516
521
- name : Setup Dependencies MacOS
517
522
run : |
518
523
# install dependencies using homebrew
519
- brew install boost cmake curl node opus pkg-config
524
+ brew install cmake curl miniupnpc node openssl opus pkg-config
520
525
521
526
# fix openssl header not found
522
- ln -sf /usr/local/opt/openssl/include/openssl /usr/local/include/openssl
527
+ # ln -sf /usr/local/opt/openssl/include/openssl /usr/local/include/openssl
528
+
529
+ # by installing boost from source, several headers cannot be found...
530
+ # the above commented out link only works if boost is installed from homebrew... does not make sense
531
+ ln -sf $(find /usr/local/Cellar -type d -name "openssl" -path "*/openssl@3/*/include" | head -n 1) \
532
+ /usr/local/include/openssl
533
+
534
+ # fix opus header not found
535
+ ln -sf $(find /usr/local/Cellar -type d -name "opus" -path "*/opus/*/include" | head -n 1) \
536
+ /usr/local/include/opus
537
+
538
+ # fix miniupnpc header not found
539
+ ln -sf $(find /usr/local/Cellar -type d -name "miniupnpc" -path "*/miniupnpc/*/include" | head -n 1) \
540
+ /usr/local/include/miniupnpc
541
+
542
+ - name : Install Boost
543
+ # installing boost from homebrew takes 30 minutes in a GitHub runner
544
+ run : |
545
+ export BOOST_ROOT=${HOME}/boost-${BOOST_VERSION}
546
+
547
+ # install boost
548
+ wget \
549
+ https://github.com/boostorg/boost/releases/download/boost-${BOOST_VERSION}/boost-${BOOST_VERSION}.tar.gz \
550
+ --progress=bar:force:noscroll -q --show-progress
551
+ tar xf boost-${BOOST_VERSION}.tar.gz
552
+ cd boost-${BOOST_VERSION}
553
+
554
+ # libdir should be set by --prefix but isn't
555
+ ./bootstrap.sh \
556
+ --prefix=${BOOST_ROOT} \
557
+ --libdir=${BOOST_ROOT}/lib \
558
+ --with-libraries=locale,log,program_options,system,thread
559
+ ./b2 headers
560
+ ./b2 install \
561
+ --prefix=${BOOST_ROOT} \
562
+ --libdir=${BOOST_ROOT}/lib \
563
+ -j$(sysctl -n hw.ncpu) \
564
+ link=shared,static \
565
+ variant=release \
566
+ cxxflags=-std=c++14 \
567
+ cxxflags=-stdlib=libc++ \
568
+ linkflags=-stdlib=libc++
569
+
570
+ # put boost in cmake prefix path
571
+ echo "BOOST_ROOT=${BOOST_ROOT}" >> ${GITHUB_ENV}
523
572
524
573
- name : Build MacOS
525
574
env :
526
575
BRANCH : ${{ github.head_ref || github.ref_name }}
527
576
BUILD_VERSION : ${{ needs.check_changelog.outputs.next_version_bare }}
528
577
COMMIT : ${{ github.event.pull_request.head.sha || github.sha }}
529
578
run : |
530
- npm install
531
-
532
579
mkdir build
533
580
cd build
534
- cmake -DCMAKE_BUILD_TYPE=Release \
581
+ cmake \
582
+ -DBUILD_WERROR=ON \
583
+ -DCMAKE_BUILD_TYPE=Release \
535
584
-DCMAKE_INSTALL_PREFIX=/usr \
536
585
-DSUNSHINE_ASSETS_DIR=local/sunshine/assets \
537
586
-DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine \
538
587
..
539
- make -j ${nproc}
588
+ make -j $(sysctl -n hw.ncpu)
540
589
541
590
- name : Package MacOS
542
591
run : |
@@ -551,7 +600,7 @@ jobs:
551
600
# mv ./cpack_artifacts/Sunshine.dmg ../artifacts/sunshine-bundle.dmg
552
601
553
602
- name : Upload Artifacts
554
- uses : actions/upload-artifact@v3
603
+ uses : actions/upload-artifact@v4
555
604
with :
556
605
name : sunshine-macos
557
606
path : artifacts/
@@ -676,7 +725,7 @@ jobs:
676
725
echo "::endgroup::"
677
726
678
727
- name : Upload Artifacts
679
- uses : actions/upload-artifact@v3
728
+ uses : actions/upload-artifact@v4
680
729
with :
681
730
name : sunshine-macports
682
731
path : artifacts/
@@ -719,19 +768,18 @@ jobs:
719
768
mingw-w64-x86_64-boost
720
769
mingw-w64-x86_64-cmake
721
770
mingw-w64-x86_64-curl
722
- mingw-w64-x86_64-onevpl
771
+ mingw-w64-x86_64-miniupnpc
772
+ mingw-w64-x86_64-nlohmann-json
773
+ mingw-w64-x86_64-nodejs
723
774
mingw-w64-x86_64-nsis
775
+ mingw-w64-x86_64-onevpl
724
776
mingw-w64-x86_64-openssl
725
777
mingw-w64-x86_64-opus
726
778
mingw-w64-x86_64-toolchain
727
779
nasm
728
780
wget
729
781
yasm
730
782
731
- - name : Install npm packages
732
- run : |
733
- npm install
734
-
735
783
- name : Build Windows
736
784
shell : msys2 {0}
737
785
env :
@@ -741,7 +789,9 @@ jobs:
741
789
run : |
742
790
mkdir build
743
791
cd build
744
- cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
792
+ cmake \
793
+ -DBUILD_WERROR=ON \
794
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
745
795
-DSUNSHINE_ASSETS_DIR=assets \
746
796
-G "MinGW Makefiles" \
747
797
..
@@ -771,7 +821,7 @@ jobs:
771
821
a "../artifacts/sunshine-debuginfo-win32.zip" "*.exe"
772
822
773
823
- name : Upload Artifacts
774
- uses : actions/upload-artifact@v3
824
+ uses : actions/upload-artifact@v4
775
825
with :
776
826
name : sunshine-windows
777
827
path : artifacts/
0 commit comments