@@ -217,7 +217,7 @@ jobs:
217
217
mv ./build/PKGBUILD ./artifacts/
218
218
219
219
- name : Validate package
220
- uses : hapakaien /archlinux-package-action@v2.2.0
220
+ uses : LizardByte /archlinux-package-action@master
221
221
with :
222
222
path : artifacts
223
223
flags : ' --syncdeps --noconfirm'
@@ -234,7 +234,7 @@ jobs:
234
234
235
235
- name : Publish AUR package
236
236
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
238
238
with :
239
239
pkgname : ${{ env.aur_pkg }}
240
240
pkgbuild : ./artifacts/PKGBUILD
@@ -260,17 +260,21 @@ jobs:
260
260
261
261
- name : Setup Dependencies Linux Flatpak
262
262
run : |
263
+ PLATFORM_VERSION=21.08
264
+
263
265
sudo apt-get update -y
264
266
sudo apt-get install -y \
265
267
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 \
271
273
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
+ "
274
278
275
279
- name : Cache Flatpak build
276
280
uses : actions/cache@v3
@@ -349,16 +353,21 @@ jobs:
349
353
350
354
build_linux :
351
355
name : Linux
352
- runs-on : ubuntu-20.04
356
+ runs-on : ubuntu-${{ matrix.dist }}
353
357
needs : [check_changelog, setup_release]
354
358
strategy :
355
359
fail-fast : false # false to test all, true to fail entire job if any fail
356
360
matrix :
357
361
include : # package these differently
358
362
- type : cpack
359
363
EXTRA_ARGS : ' '
364
+ dist : 20.04
365
+ - type : cpack
366
+ EXTRA_ARGS : ' '
367
+ dist : 22.04
360
368
- type : appimage
361
369
EXTRA_ARGS : ' -DSUNSHINE_CONFIGURE_APPIMAGE=ON'
370
+ dist : 20.04
362
371
363
372
steps :
364
373
- name : Checkout
@@ -368,26 +377,59 @@ jobs:
368
377
369
378
- name : Setup Dependencies Linux
370
379
run : |
371
- sudo add-apt-repository ppa:savoury1/ffmpeg4 -y
372
- # sudo add-apt-repository ppa:savoury1/boost-defaults-1.71 -y
373
380
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
374
381
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
+
376
418
sudo apt-get install -y \
377
419
build-essential \
378
- cmake \
379
420
gcc-10 \
380
421
g++-10 \
381
422
libavdevice-dev \
382
- libboost-filesystem-dev \
383
- libboost-log-dev \
384
- libboost-thread-dev \
385
423
libcap-dev \
424
+ libcurl4-openssl-dev \
386
425
libdrm-dev \
387
426
libevdev-dev \
388
- libpulse -dev \
427
+ libnuma -dev \
389
428
libopus-dev \
429
+ libpulse-dev \
390
430
libssl-dev \
431
+ libva-dev \
432
+ libvdpau-dev \
391
433
libwayland-dev \
392
434
libx11-dev \
393
435
libxcb-shm0-dev \
@@ -397,24 +439,19 @@ jobs:
397
439
libxrandr-dev \
398
440
libxtst-dev \
399
441
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 \
410
442
411
443
# clean apt cache
412
444
sudo apt-get clean
413
445
sudo rm -rf /var/lib/apt/lists/*
414
446
415
447
# Update gcc alias
448
+ # https://stackoverflow.com/a/70653945/11214013
416
449
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
418
455
419
456
# Install CuDA
420
457
sudo wget \
@@ -424,19 +461,15 @@ jobs:
424
461
sudo /root/cuda.run --silent --toolkit --toolkitpath=/usr --no-opengl-libs --no-man-page --no-drm
425
462
sudo rm /root/cuda.run
426
463
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
-
435
464
- name : Build Linux
436
465
run : |
437
466
mkdir -p build
438
467
mkdir -p artifacts
439
468
469
+ pushd "./src_assets/common/assets/web"
470
+ npm install
471
+ popd
472
+
440
473
cd build
441
474
cmake -DCMAKE_BUILD_TYPE=Release \
442
475
-DCMAKE_INSTALL_PREFIX=/usr \
@@ -454,13 +487,13 @@ jobs:
454
487
if : ${{ matrix.type == 'cpack' }}
455
488
working-directory : build
456
489
run : |
457
- # package
458
490
cpack -G DEB
459
- cpack -G RPM
491
+ mv ./cpack_artifacts/Sunshine.deb ../artifacts/sunshine-${{ matrix.dist }}.deb
460
492
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
464
497
465
498
- name : Set AppImage Version
466
499
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:
517
550
- name : Upload Artifacts
518
551
uses : actions/upload-artifact@v3
519
552
with :
520
- name : sunshine-linux-${{ matrix.type }}
553
+ name : sunshine-linux-${{ matrix.type }}-${{ matrix.dist }}
521
554
path : artifacts/
522
555
523
556
- name : Create/Update GitHub Release
@@ -548,13 +581,17 @@ jobs:
548
581
- name : Setup Dependencies MacOS
549
582
run : |
550
583
# install dependencies using homebrew
551
- brew install boost cmake ffmpeg opus
584
+ brew install boost cmake curl node opus
552
585
553
586
# fix openssl header not found
554
587
ln -sf /usr/local/opt/openssl/include/openssl /usr/local/include/openssl
555
588
556
589
- name : Build MacOS
557
590
run : |
591
+ pushd "./src_assets/common/assets/web"
592
+ npm install
593
+ popd
594
+
558
595
mkdir build
559
596
cd build
560
597
cmake -DCMAKE_BUILD_TYPE=Release \
@@ -846,6 +883,7 @@ jobs:
846
883
mingw-w64-x86_64-binutils
847
884
mingw-w64-x86_64-boost
848
885
mingw-w64-x86_64-cmake
886
+ mingw-w64-x86_64-curl
849
887
mingw-w64-x86_64-nsis
850
888
mingw-w64-x86_64-openssl
851
889
mingw-w64-x86_64-opus
@@ -854,6 +892,11 @@ jobs:
854
892
nasm
855
893
yasm
856
894
895
+ - name : Install npm packages
896
+ working-directory : src_assets/common/assets/web
897
+ run : |
898
+ npm install
899
+
857
900
- name : Build Windows
858
901
shell : msys2 {0}
859
902
run : |
@@ -901,7 +944,7 @@ jobs:
901
944
902
945
release-winget :
903
946
name : Release to WinGet
904
- needs : build_win
947
+ needs : [setup_release, build_win]
905
948
if : ${{ needs.setup_release.outputs.create_release == 'true' && github.ref == 'refs/heads/master' }}
906
949
runs-on : windows-latest # the required action can only be run on Windows
907
950
steps :
0 commit comments