Skip to content

Commit 1df4c89

Browse files
chore: update global workflows (#3813)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
1 parent 65b0217 commit 1df4c89

24 files changed

+256
-177
lines changed

.github/workflows/CI.yml

+39-43
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
---
22
name: CI
3+
permissions:
4+
contents: read
35

46
on:
57
pull_request:
6-
branches: [master]
7-
types: [opened, synchronize, reopened]
8+
branches:
9+
- master
10+
types:
11+
- opened
12+
- synchronize
13+
- reopened
814
push:
9-
branches: [master]
15+
branches:
16+
- master
1017
workflow_dispatch:
1118

1219
concurrency:
@@ -17,7 +24,6 @@ jobs:
1724
github_env:
1825
name: GitHub Env Debug
1926
runs-on: ubuntu-latest
20-
2127
steps:
2228
- name: Dump github context
2329
run: echo "$GITHUB_CONTEXT"
@@ -46,12 +52,12 @@ jobs:
4652
github_token: ${{ secrets.GITHUB_TOKEN }}
4753

4854
build_linux_flatpak:
55+
name: Linux Flatpak
4956
env:
5057
APP_ID: dev.lizardbyte.app.Sunshine
5158
NODE_VERSION: "20"
5259
PLATFORM_VERSION: "23.08"
53-
name: Linux Flatpak
54-
needs: [setup_release]
60+
needs: setup_release
5561
runs-on: ${{ matrix.runner }}
5662
strategy:
5763
fail-fast: false # false to test all, true to fail entire job if any fail
@@ -61,7 +67,6 @@ jobs:
6167
runner: ubuntu-22.04
6268
- arch: aarch64
6369
runner: ubuntu-22.04-arm
64-
6570
steps:
6671
- name: Maximize build space
6772
uses: easimon/maximize-build-space@v10
@@ -85,12 +90,10 @@ jobs:
8590
node-version: ${{ env.NODE_VERSION }}
8691

8792
- name: Install npm dependencies
88-
run: |
89-
npm install --package-lock-only
93+
run: npm install --package-lock-only
9094

9195
- name: Debug package-lock.json
92-
run: |
93-
cat package-lock.json
96+
run: cat package-lock.json
9497

9598
- name: Setup python
9699
id: python
@@ -121,12 +124,10 @@ jobs:
121124
122125
- name: flatpak node generator
123126
# https://github.com/flatpak/flatpak-builder-tools/blob/master/node/README.md
124-
run: |
125-
flatpak-node-generator npm package-lock.json
127+
run: flatpak-node-generator npm package-lock.json
126128

127129
- name: Debug generated-sources.json
128-
run: |
129-
cat generated-sources.json
130+
run: cat generated-sources.json
130131

131132
- name: Cache Flatpak build
132133
uses: actions/cache@v4
@@ -171,8 +172,7 @@ jobs:
171172
172173
- name: Debug Manifest
173174
working-directory: build
174-
run: |
175-
cat ${APP_ID}.yml
175+
run: cat ${APP_ID}.yml
176176

177177
- name: Build Linux Flatpak
178178
working-directory: build
@@ -225,7 +225,7 @@ jobs:
225225
226226
- name: Package Flathub repo archive
227227
# copy files required to generate the Flathub repo
228-
if: ${{ matrix.arch == 'x86_64' }}
228+
if: matrix.arch == 'x86_64'
229229
run: |
230230
mkdir -p flathub/modules
231231
cp ./build/generated-sources.json ./flathub/
@@ -245,9 +245,10 @@ jobs:
245245
with:
246246
name: sunshine-linux-flatpak-${{ matrix.arch }}
247247
path: artifacts/
248+
if-no-files-found: error
248249

249250
- name: Create/Update GitHub Release
250-
if: ${{ needs.setup_release.outputs.publish_release == 'true' }}
251+
if: needs.setup_release.outputs.publish_release == 'true'
251252
uses: LizardByte/create-release-action@v2025.102.13208
252253
with:
253254
allowUpdates: true
@@ -261,15 +262,14 @@ jobs:
261262
build_linux:
262263
name: Linux ${{ matrix.type }}
263264
runs-on: ubuntu-${{ matrix.dist }}
264-
needs: [setup_release]
265+
needs: setup_release
265266
strategy:
266267
fail-fast: false # false to test all, true to fail entire job if any fail
267268
matrix:
268269
include: # package these differently
269270
- type: AppImage
270271
EXTRA_ARGS: '--appimage-build'
271272
dist: 22.04
272-
273273
steps:
274274
- name: Maximize build space
275275
uses: easimon/maximize-build-space@v10
@@ -344,14 +344,13 @@ jobs:
344344
--ubuntu-test-repo ${{ matrix.EXTRA_ARGS }}
345345
346346
- name: Set AppImage Version
347-
if: |
348-
matrix.type == 'AppImage'
347+
if: matrix.type == 'AppImage'
349348
run: |
350349
version=${{ needs.setup_release.outputs.release_tag }}
351350
echo "VERSION=${version}" >> $GITHUB_ENV
352351
353352
- name: Package Linux - AppImage
354-
if: ${{ matrix.type == 'AppImage' }}
353+
if: matrix.type == 'AppImage'
355354
working-directory: build
356355
run: |
357356
# install sunshine to the DESTDIR
@@ -396,7 +395,7 @@ jobs:
396395
rm -rf ./build/cuda
397396
398397
- name: Verify AppImage
399-
if: ${{ matrix.type == 'AppImage' }}
398+
if: matrix.type == 'AppImage'
400399
run: |
401400
wget https://github.com/TheAssassin/appimagelint/releases/download/continuous/appimagelint-x86_64.AppImage
402401
chmod +x appimagelint-x86_64.AppImage
@@ -408,6 +407,7 @@ jobs:
408407
with:
409408
name: sunshine-linux-${{ matrix.type }}-${{ matrix.dist }}
410409
path: artifacts/
410+
if-no-files-found: error
411411

412412
- name: Install test deps
413413
run: |
@@ -431,9 +431,9 @@ jobs:
431431
./test_sunshine --gtest_color=yes
432432
433433
- name: Generate gcov report
434+
id: test_report
434435
# any except canceled or skipped
435436
if: always() && (steps.test.outcome == 'success' || steps.test.outcome == 'failure')
436-
id: test_report
437437
working-directory: build
438438
run: |
439439
${{ steps.python.outputs.python-path }} -m pip install gcovr
@@ -461,7 +461,7 @@ jobs:
461461
verbose: true
462462

463463
- name: Create/Update GitHub Release
464-
if: ${{ needs.setup_release.outputs.publish_release == 'true' }}
464+
if: needs.setup_release.outputs.publish_release == 'true'
465465
uses: LizardByte/create-release-action@v2025.102.13208
466466
with:
467467
allowUpdates: true
@@ -473,7 +473,8 @@ jobs:
473473
token: ${{ secrets.GH_BOT_TOKEN }}
474474

475475
build_homebrew:
476-
needs: [setup_release]
476+
name: Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }})
477+
needs: setup_release
477478
strategy:
478479
fail-fast: false # false to test all, true to fail entire job if any fail
479480
matrix:
@@ -489,9 +490,7 @@ jobs:
489490
- os_version: "latest" # this job will only configure the formula for release, no validation
490491
os_name: "ubuntu"
491492
release: true
492-
name: Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }})
493493
runs-on: ${{ matrix.os_name }}-${{ matrix.os_version }}
494-
495494
steps:
496495
- name: Checkout
497496
uses: actions/checkout@v4
@@ -579,16 +578,15 @@ jobs:
579578
cat ./homebrew/sunshine.rb
580579
581580
- name: Upload Artifacts
582-
if: ${{ matrix.release }}
581+
if: matrix.release
583582
uses: actions/upload-artifact@v4
584583
with:
585584
name: sunshine-homebrew
586585
path: homebrew/
586+
if-no-files-found: error
587587

588588
- name: Setup Xvfb
589-
if: |
590-
matrix.release != true &&
591-
runner.os == 'Linux'
589+
if: matrix.release != true && runner.os == 'Linux'
592590
run: |
593591
sudo apt-get update -y
594592
sudo apt-get install -y \
@@ -601,8 +599,7 @@ jobs:
601599
602600
- name: Validate Homebrew Formula
603601
id: test
604-
if: |
605-
matrix.release != true
602+
if: matrix.release != true
606603
uses: LizardByte/homebrew-release-action@v2024.1115.14934
607604
with:
608605
formula_file: ${{ github.workspace }}/homebrew/sunshine.rb
@@ -613,6 +610,7 @@ jobs:
613610
validate: true
614611

615612
- name: Generate gcov report
613+
id: test_report
616614
# any except canceled or skipped
617615
# TODO: fix coverage, no .gcno files are being created
618616
# TODO: .gcno files are supposed to be created next to .o files
@@ -621,7 +619,6 @@ jobs:
621619
# always() &&
622620
# matrix.release != true &&
623621
# (steps.test.outcome == 'success' || steps.test.outcome == 'failure')
624-
id: test_report
625622
run: |
626623
# if linux
627624
if [ "${{ runner.os }}" == "Linux" ]; then
@@ -680,8 +677,7 @@ jobs:
680677
- name: Patch homebrew formula
681678
# create beta version of the formula
682679
# don't run this on macOS, as the sed command fails
683-
if: >-
684-
matrix.release
680+
if: matrix.release
685681
run: |
686682
# variables
687683
formula_file="homebrew/sunshine-beta.rb"
@@ -713,9 +709,8 @@ jobs:
713709

714710
build_win:
715711
name: Windows
712+
needs: setup_release
716713
runs-on: windows-2019
717-
needs: [setup_release]
718-
719714
steps:
720715
- name: Checkout
721716
uses: actions/checkout@v4
@@ -931,9 +926,9 @@ jobs:
931926
./test_sunshine.exe --gtest_color=yes
932927
933928
- name: Generate gcov report
929+
id: test_report
934930
# any except canceled or skipped
935931
if: always() && (steps.test.outcome == 'success' || steps.test.outcome == 'failure')
936-
id: test_report
937932
shell: msys2 {0}
938933
working-directory: build
939934
run: |
@@ -979,9 +974,10 @@ jobs:
979974
with:
980975
name: sunshine-windows
981976
path: artifacts/
977+
if-no-files-found: error
982978

983979
- name: Create/Update GitHub Release
984-
if: ${{ needs.setup_release.outputs.publish_release == 'true' }}
980+
if: needs.setup_release.outputs.publish_release == 'true'
985981
uses: LizardByte/create-release-action@v2025.102.13208
986982
with:
987983
allowUpdates: true

.github/workflows/ci-copr.yml

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
---
22
name: CI Copr
3+
permissions:
4+
contents: read
35

46
on:
57
pull_request:

0 commit comments

Comments
 (0)