Skip to content

Commit c63637f

Browse files
Merge pull request #1756 from LizardByte/nightly
v0.22.0
2 parents 5bca024 + 529f1b8 commit c63637f

File tree

282 files changed

+11210
-6616
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

282 files changed

+11210
-6616
lines changed

.codeql-prebuild-cpp.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ sudo apt-get install -y \
1515
libcurl4-openssl-dev \
1616
libdrm-dev \
1717
libevdev-dev \
18+
libminiupnpc-dev \
1819
libmfx-dev \
1920
libnotify-dev \
2021
libnuma-dev \

.github/workflows/CI.yml

Lines changed: 73 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ jobs:
251251
../artifacts/sunshine_debug_${{ matrix.arch }}.flatpak dev.lizardbyte.sunshine.Debug'
252252
253253
- name: Upload Artifacts
254-
uses: actions/upload-artifact@v3
254+
uses: actions/upload-artifact@v4
255255
with:
256256
name: sunshine-linux-flatpak-${{ matrix.arch }}
257257
path: artifacts/
@@ -286,7 +286,7 @@ jobs:
286286
- name: Maximize build space
287287
uses: easimon/maximize-build-space@v8
288288
with:
289-
root-reserve-mb: 20480
289+
root-reserve-mb: 30720
290290
remove-dotnet: 'true'
291291
remove-android: 'true'
292292
remove-haskell: 'true'
@@ -325,7 +325,7 @@ jobs:
325325
# install newer tar from focal... appimagelint fails on 18.04 without this
326326
echo "original tar version"
327327
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
329329
sudo apt-get -y install -f ./tar.deb
330330
echo "new tar version"
331331
tar --version
@@ -350,6 +350,7 @@ jobs:
350350
libcurl4-openssl-dev \
351351
libdrm-dev \
352352
libevdev-dev \
353+
libminiupnpc-dev \
353354
libmfx-dev \
354355
libnotify-dev \
355356
libnuma-dev \
@@ -398,10 +399,10 @@ jobs:
398399
mkdir -p build
399400
mkdir -p artifacts
400401
401-
npm install
402-
403402
cd build
404-
cmake -DCMAKE_BUILD_TYPE=Release \
403+
cmake \
404+
-DBUILD_WERROR=ON \
405+
-DCMAKE_BUILD_TYPE=Release \
405406
-DCMAKE_INSTALL_PREFIX=/usr \
406407
-DSUNSHINE_ASSETS_DIR=share/sunshine \
407408
-DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine \
@@ -427,7 +428,9 @@ jobs:
427428
fi
428429
429430
- 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)
431434
run: |
432435
version=${{ needs.check_changelog.outputs.next_version_bare }}
433436
echo "VERSION=${version}" >> $GITHUB_ENV
@@ -483,7 +486,7 @@ jobs:
483486
./appimagelint-x86_64.AppImage ./artifacts/sunshine.AppImage
484487
485488
- name: Upload Artifacts
486-
uses: actions/upload-artifact@v3
489+
uses: actions/upload-artifact@v4
487490
with:
488491
name: sunshine-linux-${{ matrix.type }}-${{ matrix.dist }}
489492
path: artifacts/
@@ -506,6 +509,8 @@ jobs:
506509
name: MacOS
507510
runs-on: macos-11
508511
needs: [check_changelog, setup_release]
512+
env:
513+
BOOST_VERSION: 1.83.0
509514

510515
steps:
511516
- name: Checkout
@@ -516,27 +521,71 @@ jobs:
516521
- name: Setup Dependencies MacOS
517522
run: |
518523
# 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
520525
521526
# 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}
523572
524573
- name: Build MacOS
525574
env:
526575
BRANCH: ${{ github.head_ref || github.ref_name }}
527576
BUILD_VERSION: ${{ needs.check_changelog.outputs.next_version_bare }}
528577
COMMIT: ${{ github.event.pull_request.head.sha || github.sha }}
529578
run: |
530-
npm install
531-
532579
mkdir build
533580
cd build
534-
cmake -DCMAKE_BUILD_TYPE=Release \
581+
cmake \
582+
-DBUILD_WERROR=ON \
583+
-DCMAKE_BUILD_TYPE=Release \
535584
-DCMAKE_INSTALL_PREFIX=/usr \
536585
-DSUNSHINE_ASSETS_DIR=local/sunshine/assets \
537586
-DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine \
538587
..
539-
make -j ${nproc}
588+
make -j $(sysctl -n hw.ncpu)
540589
541590
- name: Package MacOS
542591
run: |
@@ -551,7 +600,7 @@ jobs:
551600
# mv ./cpack_artifacts/Sunshine.dmg ../artifacts/sunshine-bundle.dmg
552601
553602
- name: Upload Artifacts
554-
uses: actions/upload-artifact@v3
603+
uses: actions/upload-artifact@v4
555604
with:
556605
name: sunshine-macos
557606
path: artifacts/
@@ -676,7 +725,7 @@ jobs:
676725
echo "::endgroup::"
677726
678727
- name: Upload Artifacts
679-
uses: actions/upload-artifact@v3
728+
uses: actions/upload-artifact@v4
680729
with:
681730
name: sunshine-macports
682731
path: artifacts/
@@ -719,19 +768,18 @@ jobs:
719768
mingw-w64-x86_64-boost
720769
mingw-w64-x86_64-cmake
721770
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
723774
mingw-w64-x86_64-nsis
775+
mingw-w64-x86_64-onevpl
724776
mingw-w64-x86_64-openssl
725777
mingw-w64-x86_64-opus
726778
mingw-w64-x86_64-toolchain
727779
nasm
728780
wget
729781
yasm
730782
731-
- name: Install npm packages
732-
run: |
733-
npm install
734-
735783
- name: Build Windows
736784
shell: msys2 {0}
737785
env:
@@ -741,7 +789,9 @@ jobs:
741789
run: |
742790
mkdir build
743791
cd build
744-
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
792+
cmake \
793+
-DBUILD_WERROR=ON \
794+
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
745795
-DSUNSHINE_ASSETS_DIR=assets \
746796
-G "MinGW Makefiles" \
747797
..
@@ -771,7 +821,7 @@ jobs:
771821
a "../artifacts/sunshine-debuginfo-win32.zip" "*.exe"
772822
773823
- name: Upload Artifacts
774-
uses: actions/upload-artifact@v3
824+
uses: actions/upload-artifact@v4
775825
with:
776826
name: sunshine-windows
777827
path: artifacts/

.github/workflows/automerge.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
github-token: "${{ secrets.GITHUB_TOKEN }}"
3232

3333
- name: Label autoapproved
34-
uses: actions/github-script@v6
34+
uses: actions/github-script@v7
3535
with:
3636
github-token: ${{ secrets.GH_BOT_TOKEN }}
3737
script: |

.github/workflows/ci-docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ jobs:
395395
396396
- name: Upload Artifacts
397397
if: ${{ steps.prepare.outputs.artifacts == 'true' }}
398-
uses: actions/upload-artifact@v3
398+
uses: actions/upload-artifact@v4
399399
with:
400400
name: Docker${{ matrix.tag }}
401401
path: artifacts/

0 commit comments

Comments
 (0)