Merge pull request #304 from LizardByte/bot/manual-update-global-workflow-nightly-cnnsp

ci: update global workflows
This commit is contained in:
ReenigneArcher
2022-08-08 20:35:16 -04:00
committed by GitHub
108 changed files with 3488 additions and 3323 deletions

View File

@@ -1,3 +1,4 @@
---
name: Bug Report name: Bug Report
description: Create a bug report to help us improve. description: Create a bug report to help us improve.
body: body:
@@ -5,7 +6,7 @@ body:
attributes: attributes:
value: > value: >
**THIS IS NOT THE PLACE TO ASK FOR SUPPORT!** **THIS IS NOT THE PLACE TO ASK FOR SUPPORT!**
Please use [Discord](https://docs.lizardbyte.dev/about/support.html#discord) for support issues. Please use [Discord](https://docs.lizardbyte.dev/en/latest/about/support.html#discord) for support issues.
- type: textarea - type: textarea
id: description id: description
attributes: attributes:
@@ -90,9 +91,12 @@ body:
id: logs id: logs
attributes: attributes:
label: Relevant log output label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. description: |
Please copy and paste any relevant log output. This will be automatically formatted into code,
so no need for backticks.
render: Shell render: Shell
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Make sure to close your issue when it's solved! If you found the solution yourself please comment so that others benefit from it. Make sure to close your issue when it's solved! If you found the solution yourself please comment
so that others benefit from it.

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.

View File

@@ -1,3 +1,4 @@
---
name: CI name: CI
on: on:
@@ -52,7 +53,8 @@ jobs:
- name: Check CMakeLists.txt Version - name: Check CMakeLists.txt Version
run: | run: |
version=$(grep -o -E '^project\(Sunshine VERSION [0-9]+\.[0-9]+\.[0-9]+' CMakeLists.txt | grep -o -E '[0-9]+\.[0-9]+\.[0-9]+') version=$(grep -o -E '^project\(Sunshine VERSION [0-9]+\.[0-9]+\.[0-9]+' CMakeLists.txt | \
grep -o -E '[0-9]+\.[0-9]+\.[0-9]+')
echo "cmakelists_version=${version}" >> $GITHUB_ENV echo "cmakelists_version=${version}" >> $GITHUB_ENV
- name: Compare CMakeList.txt Version - name: Compare CMakeList.txt Version
@@ -60,7 +62,8 @@ jobs:
run: | run: |
echo CMakeLists version: "$cmakelists_version" echo CMakeLists version: "$cmakelists_version"
echo Changelog version: "${{ needs.check_changelog.outputs.next_version_bare }}" echo Changelog version: "${{ needs.check_changelog.outputs.next_version_bare }}"
echo Within 'CMakeLists.txt' change "project(Sunshine [VERSION $cmakelists_version]" to "project(Sunshine [VERSION ${{ needs.check_changelog.outputs.next_version_bare }}]" echo Within 'CMakeLists.txt' change "project(Sunshine [VERSION $cmakelists_version]" to \
"project(Sunshine [VERSION ${{ needs.check_changelog.outputs.next_version_bare }}]"
exit 1 exit 1
build_linux_aur: build_linux_aur:
@@ -76,7 +79,7 @@ jobs:
run: | run: |
sudo apt-get update -y sudo apt-get update -y
sudo apt-get install -y \ sudo apt-get install -y \
cmake cmake
- name: Configure PKGBUILD files - name: Configure PKGBUILD files
run: | run: |
@@ -92,28 +95,28 @@ jobs:
# check the branch variable # check the branch variable
if [ -z "$branch" ] if [ -z "$branch" ]
then then
echo "This is a PUSH event" echo "This is a PUSH event"
commit=${{ github.sha }} commit=${{ github.sha }}
clone_url=${{ github.event.repository.clone_url }} clone_url=${{ github.event.repository.clone_url }}
if [[ ${{ github.ref == 'refs/heads/master' }} ]]; then if [[ ${{ github.ref == 'refs/heads/master' }} ]]; then
aur_pkg=sunshine aur_pkg=sunshine
conflicts="" conflicts=""
provides="" provides=""
echo "aur_publish=true" >> $GITHUB_ENV
elif [[ ${{ github.ref == 'refs/heads/nightly' }} ]]; then
aur_pkg=sunshine-git
sub_version=".r${commit}"
echo "aur_publish=true" >> $GITHUB_ENV
fi
else
echo "This is a PR event"
commit=${{ github.event.pull_request.head.sha }}
clone_url=${{ github.event.pull_request.head.repo.clone_url }}
echo "aur_publish=true" >> $GITHUB_ENV
elif [[ ${{ github.ref == 'refs/heads/nightly' }} ]]; then
aur_pkg=sunshine-git
sub_version=".r${commit}" sub_version=".r${commit}"
echo "aur_publish=true" >> $GITHUB_ENV
fi
else
echo "This is a PR event"
commit=${{ github.event.pull_request.head.sha }}
clone_url=${{ github.event.pull_request.head.repo.clone_url }}
sub_version=".r${commit}"
fi fi
echo "Commit: ${commit}" echo "Commit: ${commit}"
echo "Clone URL: ${clone_url}" echo "Clone URL: ${clone_url}"
@@ -124,7 +127,15 @@ jobs:
mkdir -p build mkdir -p build
cd build cd build
cmake -DSUNSHINE_CONFIGURE_AUR=ON -DSUNSHINE_AUR_PKG=${aur_pkg} -DSUNSHINE_SUB_VERSION=${sub_version} -DSUNSHINE_AUR_CONFLICTS=${conflicts} -DSUNSHINE_AUR_PROVIDES=${provides} -DGITHUB_CLONE_URL=${clone_url} -DGITHUB_COMMIT=${commit} -DSUNSHINE_CONFIGURE_ONLY=ON .. cmake -DSUNSHINE_CONFIGURE_AUR=ON \
-DSUNSHINE_AUR_PKG=${aur_pkg} \
-DSUNSHINE_SUB_VERSION=${sub_version} \
-DSUNSHINE_AUR_CONFLICTS=${conflicts} \
-DSUNSHINE_AUR_PROVIDES=${provides} \
-DGITHUB_CLONE_URL=${clone_url} \
-DGITHUB_COMMIT=${commit} \
-DSUNSHINE_CONFIGURE_ONLY=ON \
..
cd .. cd ..
mv ./build/PKGBUILD ./artifacts/ mv ./build/PKGBUILD ./artifacts/
@@ -172,10 +183,12 @@ jobs:
run: | run: |
sudo apt-get update -y sudo apt-get update -y
sudo apt-get install -y \ sudo apt-get install -y \
cmake \ cmake \
flatpak flatpak
sudo su $(whoami) -c 'flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo' sudo su $(whoami) -c 'flatpak remote-add --user --if-not-exists flathub \
sudo su $(whoami) -c 'flatpak install --user flathub org.flatpak.Builder org.freedesktop.Platform//21.08 org.freedesktop.Sdk//21.08 -y' https://flathub.org/repo/flathub.flatpakrepo'
sudo su $(whoami) -c 'flatpak install --user flathub \
org.flatpak.Builder org.freedesktop.Platform//21.08 org.freedesktop.Sdk//21.08 -y'
- name: Configure Flatpak Manifest - name: Configure Flatpak Manifest
run: | run: |
@@ -185,14 +198,14 @@ jobs:
# check the branch variable # check the branch variable
if [ -z "$branch" ] if [ -z "$branch" ]
then then
echo "This is a PUSH event" echo "This is a PUSH event"
branch=${{ github.ref_name }} branch=${{ github.ref_name }}
commit=${{ github.sha }} commit=${{ github.sha }}
clone_url=${{ github.event.repository.clone_url }} clone_url=${{ github.event.repository.clone_url }}
else else
echo "This is a PR event" echo "This is a PR event"
commit=${{ github.event.pull_request.head.sha }} commit=${{ github.event.pull_request.head.sha }}
clone_url=${{ github.event.pull_request.head.repo.clone_url }} clone_url=${{ github.event.pull_request.head.repo.clone_url }}
fi fi
echo "Branch: ${branch}" echo "Branch: ${branch}"
echo "Commit: ${commit}" echo "Commit: ${commit}"
@@ -202,12 +215,18 @@ jobs:
mkdir -p artifacts mkdir -p artifacts
cd build cd build
cmake -DGITHUB_CLONE_URL=${clone_url} -DGITHUB_BRANCH=${branch} -DGITHUB_COMMIT=${commit} -DSUNSHINE_CONFIGURE_FLATPAK=ON -DSUNSHINE_CONFIGURE_ONLY=ON .. cmake -DGITHUB_CLONE_URL=${clone_url} \
-DGITHUB_BRANCH=${branch} \
-DGITHUB_COMMIT=${commit} \
-DSUNSHINE_CONFIGURE_FLATPAK=ON \
-DSUNSHINE_CONFIGURE_ONLY=ON \
..
- name: Build Linux Flatpak - name: Build Linux Flatpak
working-directory: build working-directory: build
run: | run: |
sudo su $(whoami) -c 'flatpak run org.flatpak.Builder --repo=repo --force-clean build-sunshine dev.lizardbyte.sunshine.yml' sudo su $(whoami) -c 'flatpak run org.flatpak.Builder --repo=repo --force-clean build-sunshine \
dev.lizardbyte.sunshine.yml'
sudo su $(whoami) -c 'flatpak build-bundle ./repo ../artifacts/sunshine.flatpak dev.lizardbyte.sunshine' sudo su $(whoami) -c 'flatpak build-bundle ./repo ../artifacts/sunshine.flatpak dev.lizardbyte.sunshine'
- name: Upload Artifacts - name: Upload Artifacts
@@ -232,7 +251,7 @@ jobs:
strategy: strategy:
fail-fast: false # false to test all, true to fail entire job if any fail fail-fast: false # false to test all, true to fail entire job if any fail
matrix: matrix:
include: # package these differently include: # package these differently
- type: cpack - type: cpack
CMAKE_INSTALL_PREFIX: '/usr' CMAKE_INSTALL_PREFIX: '/usr'
SUNSHINE_ASSETS_DIR: 'local/sunshine/assets' SUNSHINE_ASSETS_DIR: 'local/sunshine/assets'
@@ -258,30 +277,30 @@ jobs:
sudo apt-get update -y sudo apt-get update -y
sudo apt-get install -y \ sudo apt-get install -y \
build-essential \ build-essential \
cmake \ cmake \
gcc-10 \ gcc-10 \
git \ git \
g++-10 \ g++-10 \
libavdevice-dev \ libavdevice-dev \
libboost-filesystem-dev \ libboost-filesystem-dev \
libboost-log-dev \ libboost-log-dev \
libboost-thread-dev \ libboost-thread-dev \
libcap-dev \ libcap-dev \
libdrm-dev \ libdrm-dev \
libevdev-dev \ libevdev-dev \
libpulse-dev \ libpulse-dev \
libopus-dev \ libopus-dev \
libssl-dev \ libssl-dev \
libwayland-dev \ libwayland-dev \
libx11-dev \ libx11-dev \
libxcb-shm0-dev \ libxcb-shm0-dev \
libxcb-xfixes0-dev \ libxcb-xfixes0-dev \
libxcb1-dev \ libxcb1-dev \
libxfixes-dev \ libxfixes-dev \
libxrandr-dev \ libxrandr-dev \
libxtst-dev \ libxtst-dev \
wget wget
# # Ubuntu 20.04+ packages # # Ubuntu 20.04+ packages
# libboost-filesystem-dev # libboost-filesystem-dev
# libboost-log-dev # libboost-log-dev
@@ -298,10 +317,13 @@ jobs:
sudo rm -rf /var/lib/apt/lists/* sudo rm -rf /var/lib/apt/lists/*
# Update gcc alias # Update gcc alias
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 sudo update-alternatives --install \
/usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
# Install CuDA # Install CuDA
sudo wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run --progress=bar:force:noscroll -q --show-progress -O /root/cuda.run sudo wget \
https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run \
--progress=bar:force:noscroll -q --show-progress -O /root/cuda.run
sudo chmod a+x /root/cuda.run sudo chmod a+x /root/cuda.run
sudo /root/cuda.run --silent --toolkit --toolkitpath=/usr --no-opengl-libs --no-man-page --no-drm sudo /root/cuda.run --silent --toolkit --toolkitpath=/usr --no-opengl-libs --no-man-page --no-drm
sudo rm /root/cuda.run sudo rm /root/cuda.run
@@ -320,7 +342,17 @@ jobs:
mkdir -p artifacts mkdir -p artifacts
cd build cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ matrix.CMAKE_INSTALL_PREFIX }} -DSUNSHINE_ASSETS_DIR=${{ matrix.SUNSHINE_ASSETS_DIR }} -DSUNSHINE_CONFIG_DIR=${{ matrix.SUNSHINE_CONFIG_DIR }} -DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine -DSUNSHINE_ENABLE_WAYLAND=ON -DSUNSHINE_ENABLE_X11=ON -DSUNSHINE_ENABLE_DRM=ON -DSUNSHINE_ENABLE_CUDA=ON ${{ matrix.EXTRA_ARGS }} .. cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${{ matrix.CMAKE_INSTALL_PREFIX }} \
-DSUNSHINE_ASSETS_DIR=${{ matrix.SUNSHINE_ASSETS_DIR }} \
-DSUNSHINE_CONFIG_DIR=${{ matrix.SUNSHINE_CONFIG_DIR }} \
-DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine \
-DSUNSHINE_ENABLE_WAYLAND=ON \
-DSUNSHINE_ENABLE_X11=ON \
-DSUNSHINE_ENABLE_DRM=ON \
-DSUNSHINE_ENABLE_CUDA=ON \
${{ matrix.EXTRA_ARGS }} \
..
make -j ${nproc} make -j ${nproc}
- name: Package Linux - CPACK - name: Package Linux - CPACK
@@ -336,7 +368,7 @@ jobs:
mv ./cpack_artifacts/Sunshine.rpm ../artifacts/sunshine.rpm mv ./cpack_artifacts/Sunshine.rpm ../artifacts/sunshine.rpm
- name: Set AppImage Version - name: Set AppImage Version
if: ${{ matrix.type == 'appimage' && ( needs.check_changelog.outputs.next_version_bare != needs.check_changelog.outputs.latest_version ) }} if: ${{ matrix.type == 'appimage' && ( needs.check_changelog.outputs.next_version_bare != needs.check_changelog.outputs.latest_version ) }} # yamllint disable-line rule:line-length
run: | run: |
version=${{ needs.check_changelog.outputs.next_version_bare }} version=${{ needs.check_changelog.outputs.next_version_bare }}
echo "VERSION=${version}" >> $GITHUB_ENV echo "VERSION=${version}" >> $GITHUB_ENV
@@ -352,7 +384,8 @@ jobs:
# todo - this is ugly... we should use a custom AppRun script to take care of this # todo - this is ugly... we should use a custom AppRun script to take care of this
mv ./AppDir${{ matrix.CMAKE_INSTALL_PREFIX }}/sunshine.AppImage.* ../artifacts/ mv ./AppDir${{ matrix.CMAKE_INSTALL_PREFIX }}/sunshine.AppImage.* ../artifacts/
mkdir -p ../artifacts/${{ matrix.SUNSHINE_CONFIG_DIR }}/.config/sunshine/${{ matrix.SUNSHINE_CONFIG_DIR }} mkdir -p ../artifacts/${{ matrix.SUNSHINE_CONFIG_DIR }}/.config/sunshine/${{ matrix.SUNSHINE_CONFIG_DIR }}
cp ../artifacts/${{ matrix.SUNSHINE_CONFIG_DIR }}/apps.json ../artifacts/${{ matrix.SUNSHINE_CONFIG_DIR }}/.config/sunshine/${{ matrix.SUNSHINE_CONFIG_DIR }}/ cp ../artifacts/${{ matrix.SUNSHINE_CONFIG_DIR }}/apps.json \
../artifacts/${{ matrix.SUNSHINE_CONFIG_DIR }}/.config/sunshine/${{ matrix.SUNSHINE_CONFIG_DIR }}/
# variables # variables
DESKTOP_FILE="${DESKTOP_FILE:-sunshine.desktop}" DESKTOP_FILE="${DESKTOP_FILE:-sunshine.desktop}"
@@ -370,14 +403,14 @@ jobs:
# export DEPLOY_GTK_VERSION=3 # export DEPLOY_GTK_VERSION=3
./linuxdeploy-x86_64.AppImage \ ./linuxdeploy-x86_64.AppImage \
--appdir ./AppDir \ --appdir ./AppDir \
--executable ./sunshine \ --executable ./sunshine \
--icon-file "../$ICON_FILE" \ --icon-file "../$ICON_FILE" \
--desktop-file "./$DESKTOP_FILE" \ --desktop-file "./$DESKTOP_FILE" \
--library /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 \ --library /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 \
--library /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 \ --library /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 \
--library /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 \ --library /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 \
--output appimage --output appimage
# # add this argument back if using gtk plugin # # add this argument back if using gtk plugin
# --plugin gtk \ # --plugin gtk \
@@ -443,7 +476,11 @@ jobs:
run: | run: |
mkdir build mkdir build
cd build cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DSUNSHINE_ASSETS_DIR=local/sunshine/assets -DSUNSHINE_CONFIG_DIR=local/sunshine/config .. cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DSUNSHINE_ASSETS_DIR=local/sunshine/assets \
-DSUNSHINE_CONFIG_DIR=local/sunshine/config \
..
make -j ${nproc} make -j ${nproc}
- name: Package MacOS - name: Package MacOS
@@ -476,25 +513,20 @@ jobs:
rm -f ./sunshine-macos-experimental-bundle.dmg rm -f ./sunshine-macos-experimental-bundle.dmg
rm -f ./sunshine-macos-experimental-archive.zip rm -f ./sunshine-macos-experimental-archive.zip
# no artifacts to release currently ## no artifacts to release currently
# - name: Create Release # - name: Create Release
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} # if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
# uses: LizardByte/.github/actions/create_release@master # uses: LizardByte/.github/actions/create_release@master
# with: # with:
# token: ${{ secrets.GH_BOT_TOKEN }} # token: ${{ secrets.GH_BOT_TOKEN }}
# next_version: ${{ needs.check_changelog.outputs.next_version }} # next_version: ${{ needs.check_changelog.outputs.next_version }}
# last_version: ${{ needs.check_changelog.outputs.last_version }} # last_version: ${{ needs.check_changelog.outputs.last_version }}
# release_body: ${{ needs.check_changelog.outputs.release_body }} # release_body: ${{ needs.check_changelog.outputs.release_body }}
build_mac_port: build_mac_port:
name: Macports name: Macports
needs: check_changelog needs: check_changelog
runs-on: macos-11 runs-on: macos-11
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# os: [ macos-10.15, macos-11, macos-12 ]
steps: steps:
- name: Checkout - name: Checkout
@@ -526,21 +558,24 @@ jobs:
# check the branch variable # check the branch variable
if [ -z "$branch" ] if [ -z "$branch" ]
then then
echo "This is a PUSH event" echo "This is a PUSH event"
commit=${{ github.sha }} commit=${{ github.sha }}
clone_url=${{ github.event.repository.clone_url }} clone_url=${{ github.event.repository.clone_url }}
else else
echo "This is a PR event" echo "This is a PR event"
commit=${{ github.event.pull_request.head.sha }} commit=${{ github.event.pull_request.head.sha }}
clone_url=${{ github.event.pull_request.head.repo.clone_url }} clone_url=${{ github.event.pull_request.head.repo.clone_url }}
fi fi
echo "Commit: ${commit}" echo "Commit: ${commit}"
echo "Clone URL: ${clone_url}" echo "Clone URL: ${clone_url}"
mkdir build mkdir build
cd build cd build
cmake -DGITHUB_COMMIT=${commit} -DGITHUB_CLONE_URL=${clone_url} -DSUNSHINE_CONFIGURE_PORTFILE=ON -DSUNSHINE_CONFIGURE_ONLY=ON .. cmake -DGITHUB_COMMIT=${commit} \
-DGITHUB_CLONE_URL=${clone_url} \
-DSUNSHINE_CONFIGURE_PORTFILE=ON \
-DSUNSHINE_CONFIGURE_ONLY=ON \
..
cd .. cd ..
# copy Portfile to artifacts # copy Portfile to artifacts
@@ -573,12 +608,12 @@ jobs:
echo "Listing subports for Sunshine" echo "Listing subports for Sunshine"
new_subports=$(mpbb \ new_subports=$(mpbb \
--work-dir /tmp/mpbb \ --work-dir /tmp/mpbb \
list-subports \ list-subports \
--archive-site= \ --archive-site= \
--archive-site-private= \ --archive-site-private= \
--include-deps=no \ --include-deps=no \
"$port" \ "$port" \
| tr '\n' ' ') | tr '\n' ' ')
for subport in $new_subports; do for subport in $new_subports; do
echo "$subport" echo "$subport"
@@ -733,7 +768,11 @@ jobs:
run: | run: |
mkdir build mkdir build
cd build cd build
cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_ASSETS_DIR=assets -DSUNSHINE_CONFIG_DIR=config -G "MinGW Makefiles" .. cmake -DCMAKE_BUILD_TYPE=Release \
-DSUNSHINE_ASSETS_DIR=assets \
-DSUNSHINE_CONFIG_DIR=config \
-G "MinGW Makefiles" \
..
mingw32-make -j2 mingw32-make -j2
- name: Package Windows - name: Package Windows

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.
@@ -5,15 +6,12 @@
name: Auto create PR name: Auto create PR
on: on:
pull_request: push:
types:
- closed
branches: branches:
- 'nightly' - 'nightly'
jobs: jobs:
create_pr: create_pr:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -25,7 +23,7 @@ jobs:
with: with:
source_branch: "" # should be "nightly" as it's the triggering branch source_branch: "" # should be "nightly" as it's the triggering branch
destination_branch: "master" destination_branch: "master"
pr_title: "Pulling ${{ github.ref }} into master" pr_title: "Pulling ${{ github.ref_name }} into master"
pr_template: ".github/pr_release_template.md" pr_template: ".github/pr_release_template.md"
pr_assignee: "${{ secrets.GH_BOT_NAME }}" pr_assignee: "${{ secrets.GH_BOT_NAME }}"
pr_draft: true pr_draft: true

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.
@@ -17,22 +18,22 @@ jobs:
contains(fromJson('["LizardByte-bot"]'), github.actor) contains(fromJson('["LizardByte-bot"]'), github.actor)
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Autoapproving - name: Autoapproving
uses: hmarr/auto-approve-action@v2 uses: hmarr/auto-approve-action@v2
with: with:
github-token: "${{ secrets.GITHUB_TOKEN }}" github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Label autoapproved - name: Label autoapproved
uses: actions/github-script@v5 uses: actions/github-script@v6
with: with:
github-token: ${{ secrets.GH_BOT_TOKEN }} github-token: ${{ secrets.GH_BOT_TOKEN }}
script: | script: |
github.rest.issues.addLabels({ github.rest.issues.addLabels({
issue_number: context.issue.number, issue_number: context.issue.number,
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo,
labels: ['autoapproved', 'autoupdate'] labels: ['autoapproved', 'autoupdate']
}) })
automerge: automerge:
needs: [autoapprove] needs: [autoapprove]

32
.github/workflows/autoupdate.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# This workflow is designed to work with:
# - automerge workflows
# It uses GitHub Action that auto-updates pull requests branches, when changes are pushed to their destination branch.
# Auto-updating to the latest destination branch works only in the context of upstream repo and not forks.
name: autoupdate
on:
push:
branches:
- 'nightly'
jobs:
autoupdate-for-bot:
name: Autoupdate autoapproved PR created in the upstream
if: startsWith(github.repository, 'LizardByte/')
runs-on: ubuntu-latest
steps:
- name: Update
uses: docker://chinthakagodawita/autoupdate-action:v1
env:
GITHUB_TOKEN: '${{ secrets.GH_BOT_TOKEN }}'
PR_FILTER: "labelled"
PR_LABELS: "autoupdate"
PR_READY_STATE: "ready_for_review"
MERGE_CONFLICT_ACTION: "ignore"

View File

@@ -1,31 +0,0 @@
name: clang-format-lint
on:
pull_request:
branches: [master, nightly]
types: [opened, synchronize, reopened]
jobs:
lint:
name: Clang Format Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Clang format lint
uses: DoozyX/clang-format-lint-action@v0.14
with:
source: './sunshine'
extensions: 'cpp,h,m,mm'
clangFormatVersion: 13
style: file
inplace: false
- name: Upload Artifacts
if: failure()
uses: actions/upload-artifact@v3
with:
name: sunshine
path: sunshine/

View File

@@ -0,0 +1,60 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
name: Clang Format Lint
on:
pull_request:
branches: [master, nightly]
types: [opened, synchronize, reopened]
jobs:
check_src:
name: Check src
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Check
id: check
run: |
if [ -d "./src" ]
then
FOUND=true
else
FOUND=false
fi
echo "::set-output name=src::${FOUND}"
outputs:
src: ${{ steps.check.outputs.src }}
lint:
name: Clang Format Lint
needs: [check_src]
if: ${{ needs.check_src.outputs.src == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Clang format lint
uses: DoozyX/clang-format-lint-action@v0.14
with:
source: './src'
extensions: 'cpp,h,m,mm'
clangFormatVersion: 13
style: file
inplace: false
- name: Upload Artifacts
if: failure()
uses: actions/upload-artifact@v3
with:
name: clang-format-fixes
path: src/

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.
@@ -8,7 +9,7 @@ on:
issues: issues:
types: [labeled, unlabeled] types: [labeled, unlabeled]
discussion: discussion:
types: [ labeled, unlabeled ] types: [labeled, unlabeled]
jobs: jobs:
label: label:

View File

@@ -1,3 +1,4 @@
---
name: localize name: localize
on: on:
@@ -5,7 +6,7 @@ on:
branches: [nightly] branches: [nightly]
paths: # prevents workflow from running unless these files change paths: # prevents workflow from running unless these files change
- '.github/workflows/localize.yml' - '.github/workflows/localize.yml'
- 'sunshine/**' - 'src/**'
- 'locale/sunshine.po' - 'locale/sunshine.po'
workflow_dispatch: workflow_dispatch:
@@ -18,76 +19,77 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Install Python 3.9 - name: Install Python 3.9
uses: actions/setup-python@v4 # https://github.com/actions/setup-python uses: actions/setup-python@v4 # https://github.com/actions/setup-python
with: with:
python-version: '3.9' python-version: '3.9'
- name: Set up Python 3.9 Dependencies - name: Set up Python 3.9 Dependencies
run: | run: |
cd ./scripts cd ./scripts
python -m pip install --upgrade pip setuptools python -m pip install --upgrade pip setuptools
python -m pip install -r requirements.txt python -m pip install -r requirements.txt
- name: Set up xgettext - name: Set up xgettext
run: | run: |
sudo apt-get update -y && \ sudo apt-get update -y && \
sudo apt-get --reinstall install -y \ sudo apt-get --reinstall install -y \
gettext gettext
- name: Update Strings - name: Update Strings
run: | run: |
# first, try to remove existing file as xgettext does not remove unused translations # first, try to remove existing file as xgettext does not remove unused translations
if [ -f "${{ env.file }}" ]; if [ -f "${{ env.file }}" ];
then then
rm ${{ env.file }} rm ${{ env.file }}
echo "new_file=false" >> $GITHUB_ENV echo "new_file=false" >> $GITHUB_ENV
else else
echo "new_file=true" >> $GITHUB_ENV echo "new_file=true" >> $GITHUB_ENV
fi fi
# extract the new strings # extract the new strings
python ./scripts/_locale.py --extract python ./scripts/_locale.py --extract
- name: git diff - name: git diff
if: ${{ env.new_file == 'false' }} if: ${{ env.new_file == 'false' }}
run: | run: |
# disable the pager # disable the pager
git config --global pager.diff false git config --global pager.diff false
# print the git diff # print the git diff
git diff locale/sunshine.po git diff locale/sunshine.po
# set the variable with minimal output # set the variable with minimal output
OUTPUT=$(git diff --numstat locale/sunshine.po) OUTPUT=$(git diff --numstat locale/sunshine.po)
echo "git_diff=${OUTPUT}" >> $GITHUB_ENV echo "git_diff=${OUTPUT}" >> $GITHUB_ENV
- name: git reset - name: git reset
# only run if a single line changed (date/time) and file already existed # only run if a single line changed (date/time) and file already existed
if: ${{ env.git_diff == '1 1 locale/sunshine.po' && env.new_file == 'false' }} # \t in next line is a tab character
run: | if: ${{ env.git_diff == '1\t1\tlocale/sunshine.po' && env.new_file == 'false' }}
git reset --hard run: |
git reset --hard
- name: Create/Update Pull Request - name: Create/Update Pull Request
uses: peter-evans/create-pull-request@v4 uses: peter-evans/create-pull-request@v4
with: with:
add-paths: | add-paths: |
locale/*.po locale/*.po
token: ${{ secrets.GH_BOT_TOKEN }} # must trigger PR tests token: ${{ secrets.GH_BOT_TOKEN }} # must trigger PR tests
commit-message: New localization template commit-message: New localization template
branch: localize/update branch: localize/update
delete-branch: true delete-branch: true
base: nightly base: nightly
title: New Babel Updates title: New Babel Updates
body: | body: |
Update report Update report
- Updated with *today's* date - Updated with *today's* date
- Auto-generated by [create-pull-request][1] - Auto-generated by [create-pull-request][1]
[1]: https://github.com/peter-evans/create-pull-request [1]: https://github.com/peter-evans/create-pull-request
labels: | labels: |
babel babel
l10n l10n

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.
@@ -18,7 +19,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
target: master target: master
exclude: nightly # Don't prevent going from nightly -> master exclude: nightly # Don't prevent going from nightly -> master
change-to: nightly change-to: nightly
comment: | comment: |
Your PR was set to `master`, PRs should be sent to `nightly`. Your PR was set to `master`, PRs should be sent to `nightly`.

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.

View File

@@ -1,3 +1,4 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/ # This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo. # the above-mentioned repo.

View File

@@ -1,3 +1,4 @@
---
name: Publish to WinGet name: Publish to WinGet
on: on:
@@ -5,10 +6,12 @@ on:
types: [released] types: [released]
jobs: jobs:
publish: winget-releaser:
name: winget releaser
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: vedantmgoyal2009/winget-releaser@latest - name: winget releaser
uses: vedantmgoyal2009/winget-releaser@latest
with: with:
identifier: LizardByte.Sunshine identifier: LizardByte.Sunshine
token: ${{ secrets.GH_BOT_TOKEN }} token: ${{ secrets.GH_BOT_TOKEN }}

46
.github/workflows/yaml-lint.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
name: yaml lint
on:
pull_request:
branches: [master, nightly]
types: [opened, synchronize, reopened]
jobs:
yaml-lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: yaml lint
id: yaml-lint
uses: ibiqlik/action-yamllint@v3
with:
# https://yamllint.readthedocs.io/en/stable/configuration.html#default-configuration
config_data: |
extends: default
rules:
comments:
level: error
line-length:
max: 120
truthy:
allowed-values: ['true', 'false', 'on'] # GitHub uses "on" for workflow event triggers
check-keys: true
level: error
- name: Log
run: |
echo ${{ steps.yaml-lint.outputs.logfile }}
- name: Upload logs
uses: actions/upload-artifact@v2
if: failure()
with:
name: yamllint-logfile
path: ${{ steps.yaml-lint.outputs.logfile }}

4
.gitmodules vendored
View File

@@ -13,6 +13,6 @@
[submodule "third-party/nv-codec-headers"] [submodule "third-party/nv-codec-headers"]
path = third-party/nv-codec-headers path = third-party/nv-codec-headers
url = https://github.com/FFmpeg/nv-codec-headers url = https://github.com/FFmpeg/nv-codec-headers
[submodule "sunshine/platform/macos/TPCircularBuffer"] [submodule "third-party/TPCircularBuffer"]
path = sunshine/platform/macos/TPCircularBuffer path = third-party/TPCircularBuffer
url = https://github.com/michaeltyson/TPCircularBuffer url = https://github.com/michaeltyson/TPCircularBuffer

View File

@@ -1,3 +1,4 @@
---
# .readthedocs.yaml # .readthedocs.yaml
# Read the Docs configuration file # Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
@@ -25,9 +26,9 @@ build:
# - cmake . # - cmake .
## Include the submodules, required for cmake ## Include the submodules, required for cmake
#submodules: # submodules:
# include: all # include: all
# recursive: true # recursive: true
# Build documentation in the docs/ directory with Sphinx # Build documentation in the docs/ directory with Sphinx
sphinx: sphinx:

View File

@@ -100,18 +100,18 @@ if(WIN32)
if(NOT DEFINED SUNSHINE_ICON_PATH) if(NOT DEFINED SUNSHINE_ICON_PATH)
set(SUNSHINE_ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sunshine.ico") set(SUNSHINE_ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sunshine.ico")
endif() endif()
configure_file(sunshine/platform/windows/windows.rs.in windows.rc @ONLY) configure_file(src/platform/windows/windows.rs.in windows.rc @ONLY)
set(PLATFORM_TARGET_FILES set(PLATFORM_TARGET_FILES
"${CMAKE_CURRENT_BINARY_DIR}/windows.rc" "${CMAKE_CURRENT_BINARY_DIR}/windows.rc"
sunshine/platform/windows/publish.cpp src/platform/windows/publish.cpp
sunshine/platform/windows/misc.h src/platform/windows/misc.h
sunshine/platform/windows/misc.cpp src/platform/windows/misc.cpp
sunshine/platform/windows/input.cpp src/platform/windows/input.cpp
sunshine/platform/windows/display.h src/platform/windows/display.h
sunshine/platform/windows/display_base.cpp src/platform/windows/display_base.cpp
sunshine/platform/windows/display_vram.cpp src/platform/windows/display_vram.cpp
sunshine/platform/windows/display_ram.cpp src/platform/windows/display_ram.cpp
sunshine/platform/windows/audio.cpp src/platform/windows/audio.cpp
third-party/ViGEmClient/src/ViGEmClient.cpp third-party/ViGEmClient/src/ViGEmClient.cpp
third-party/ViGEmClient/include/ViGEm/Client.h third-party/ViGEmClient/include/ViGEm/Client.h
third-party/ViGEmClient/include/ViGEm/Common.h third-party/ViGEmClient/include/ViGEm/Common.h
@@ -180,21 +180,21 @@ elseif(APPLE)
set(APPLE_PLIST_FILE ${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/Info.plist) set(APPLE_PLIST_FILE ${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/Info.plist)
set(PLATFORM_TARGET_FILES set(PLATFORM_TARGET_FILES
sunshine/platform/macos/av_audio.h src/platform/macos/av_audio.h
sunshine/platform/macos/av_audio.m src/platform/macos/av_audio.m
sunshine/platform/macos/av_img_t.h src/platform/macos/av_img_t.h
sunshine/platform/macos/av_video.h src/platform/macos/av_video.h
sunshine/platform/macos/av_video.m src/platform/macos/av_video.m
sunshine/platform/macos/display.mm src/platform/macos/display.mm
sunshine/platform/macos/input.cpp src/platform/macos/input.cpp
sunshine/platform/macos/microphone.mm src/platform/macos/microphone.mm
sunshine/platform/macos/misc.cpp src/platform/macos/misc.cpp
sunshine/platform/macos/misc.h src/platform/macos/misc.h
sunshine/platform/macos/nv12_zero_device.cpp src/platform/macos/nv12_zero_device.cpp
sunshine/platform/macos/nv12_zero_device.h src/platform/macos/nv12_zero_device.h
sunshine/platform/macos/publish.cpp src/platform/macos/publish.cpp
sunshine/platform/macos/TPCircularBuffer/TPCircularBuffer.c third-party/TPCircularBuffer/TPCircularBuffer.c
sunshine/platform/macos/TPCircularBuffer/TPCircularBuffer.h third-party/TPCircularBuffer/TPCircularBuffer.h
${APPLE_PLIST_FILE}) ${APPLE_PLIST_FILE})
else() else()
add_compile_definitions(SUNSHINE_PLATFORM="linux") add_compile_definitions(SUNSHINE_PLATFORM="linux")
@@ -242,14 +242,14 @@ else()
if(X11_FOUND) if(X11_FOUND)
add_compile_definitions(SUNSHINE_BUILD_X11) add_compile_definitions(SUNSHINE_BUILD_X11)
include_directories(${X11_INCLUDE_DIR}) include_directories(${X11_INCLUDE_DIR})
list(APPEND PLATFORM_TARGET_FILES sunshine/platform/linux/x11grab.cpp) list(APPEND PLATFORM_TARGET_FILES src/platform/linux/x11grab.cpp)
endif() endif()
if(CUDA_FOUND) if(CUDA_FOUND)
include_directories(third-party/nvfbc) include_directories(third-party/nvfbc)
list(APPEND PLATFORM_TARGET_FILES list(APPEND PLATFORM_TARGET_FILES
sunshine/platform/linux/cuda.cu src/platform/linux/cuda.cu
sunshine/platform/linux/cuda.cpp src/platform/linux/cuda.cpp
third-party/nvfbc/NvFBC.h) third-party/nvfbc/NvFBC.h)
add_compile_definitions(SUNSHINE_BUILD_CUDA) add_compile_definitions(SUNSHINE_BUILD_CUDA)
@@ -259,7 +259,7 @@ else()
add_compile_definitions(SUNSHINE_BUILD_DRM) add_compile_definitions(SUNSHINE_BUILD_DRM)
include_directories(${LIBDRM_INCLUDE_DIRS} ${LIBCAP_INCLUDE_DIRS}) include_directories(${LIBDRM_INCLUDE_DIRS} ${LIBCAP_INCLUDE_DIRS})
list(APPEND PLATFORM_LIBRARIES ${LIBDRM_LIBRARIES} ${LIBCAP_LIBRARIES}) list(APPEND PLATFORM_LIBRARIES ${LIBDRM_LIBRARIES} ${LIBCAP_LIBRARIES})
list(APPEND PLATFORM_TARGET_FILES sunshine/platform/linux/kmsgrab.cpp) list(APPEND PLATFORM_TARGET_FILES src/platform/linux/kmsgrab.cpp)
list(APPEND SUNSHINE_DEFINITIONS EGL_NO_X11=1) list(APPEND SUNSHINE_DEFINITIONS EGL_NO_X11=1)
elseif(LIBDRM_FOUND) elseif(LIBDRM_FOUND)
message(WARNING "Found libdrm, yet there is no libcap") message(WARNING "Found libdrm, yet there is no libcap")
@@ -301,26 +301,26 @@ else()
list(APPEND PLATFORM_LIBRARIES ${WAYLAND_LIBRARIES}) list(APPEND PLATFORM_LIBRARIES ${WAYLAND_LIBRARIES})
list(APPEND PLATFORM_TARGET_FILES list(APPEND PLATFORM_TARGET_FILES
sunshine/platform/linux/wlgrab.cpp src/platform/linux/wlgrab.cpp
sunshine/platform/linux/wayland.cpp) src/platform/linux/wayland.cpp)
endif() endif()
if(NOT ${X11_FOUND} AND NOT (${LIBDRM_FOUND} AND ${LIBCAP_FOUND}) AND NOT ${WAYLAND_FOUND} AND NOT ${}) if(NOT ${X11_FOUND} AND NOT (${LIBDRM_FOUND} AND ${LIBCAP_FOUND}) AND NOT ${WAYLAND_FOUND} AND NOT ${})
message(FATAL_ERROR "Couldn't find either x11, wayland, cuda or (libdrm and libcap)") message(FATAL_ERROR "Couldn't find either x11, wayland, cuda or (libdrm and libcap)")
endif() endif()
list(APPEND PLATFORM_TARGET_FILES list(APPEND PLATFORM_TARGET_FILES
sunshine/platform/linux/publish.cpp src/platform/linux/publish.cpp
sunshine/platform/linux/vaapi.h src/platform/linux/vaapi.h
sunshine/platform/linux/vaapi.cpp src/platform/linux/vaapi.cpp
sunshine/platform/linux/cuda.h src/platform/linux/cuda.h
sunshine/platform/linux/graphics.h src/platform/linux/graphics.h
sunshine/platform/linux/graphics.cpp src/platform/linux/graphics.cpp
sunshine/platform/linux/misc.h src/platform/linux/misc.h
sunshine/platform/linux/misc.cpp src/platform/linux/misc.cpp
sunshine/platform/linux/audio.cpp src/platform/linux/audio.cpp
sunshine/platform/linux/input.cpp src/platform/linux/input.cpp
sunshine/platform/linux/x11grab.h src/platform/linux/x11grab.h
sunshine/platform/linux/wayland.h src/platform/linux/wayland.h
third-party/glad/src/egl.c third-party/glad/src/egl.c
third-party/glad/src/gl.c third-party/glad/src/gl.c
third-party/glad/include/EGL/eglplatform.h third-party/glad/include/EGL/eglplatform.h
@@ -356,47 +356,47 @@ set(SUNSHINE_TARGET_FILES
third-party/moonlight-common-c/src/Rtsp.h third-party/moonlight-common-c/src/Rtsp.h
third-party/moonlight-common-c/src/RtspParser.c third-party/moonlight-common-c/src/RtspParser.c
third-party/moonlight-common-c/src/Video.h third-party/moonlight-common-c/src/Video.h
sunshine/upnp.cpp src/upnp.cpp
sunshine/upnp.h src/upnp.h
sunshine/cbs.cpp src/cbs.cpp
sunshine/utility.h src/utility.h
sunshine/uuid.h src/uuid.h
sunshine/config.h src/config.h
sunshine/config.cpp src/config.cpp
sunshine/main.cpp src/main.cpp
sunshine/main.h src/main.h
sunshine/crypto.cpp src/crypto.cpp
sunshine/crypto.h src/crypto.h
sunshine/nvhttp.cpp src/nvhttp.cpp
sunshine/nvhttp.h src/nvhttp.h
sunshine/httpcommon.cpp src/httpcommon.cpp
sunshine/httpcommon.h src/httpcommon.h
sunshine/confighttp.cpp src/confighttp.cpp
sunshine/confighttp.h src/confighttp.h
sunshine/rtsp.cpp src/rtsp.cpp
sunshine/rtsp.h src/rtsp.h
sunshine/stream.cpp src/stream.cpp
sunshine/stream.h src/stream.h
sunshine/video.cpp src/video.cpp
sunshine/video.h src/video.h
sunshine/input.cpp src/input.cpp
sunshine/input.h src/input.h
sunshine/audio.cpp src/audio.cpp
sunshine/audio.h src/audio.h
sunshine/platform/common.h src/platform/common.h
sunshine/process.cpp src/process.cpp
sunshine/process.h src/process.h
sunshine/network.cpp src/network.cpp
sunshine/network.h src/network.h
sunshine/move_by_copy.h src/move_by_copy.h
sunshine/task_pool.h src/task_pool.h
sunshine/thread_pool.h src/thread_pool.h
sunshine/thread_safe.h src/thread_safe.h
sunshine/sync.h src/sync.h
sunshine/round_robin.h src/round_robin.h
${PLATFORM_TARGET_FILES}) ${PLATFORM_TARGET_FILES})
set_source_files_properties(sunshine/upnp.cpp PROPERTIES COMPILE_FLAGS -Wno-pedantic) set_source_files_properties(src/upnp.cpp PROPERTIES COMPILE_FLAGS -Wno-pedantic)
include_directories( include_directories(
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
@@ -414,7 +414,7 @@ string(TOUPPER "x${CMAKE_BUILD_TYPE}" BUILD_TYPE)
if("${BUILD_TYPE}" STREQUAL "XDEBUG") if("${BUILD_TYPE}" STREQUAL "XDEBUG")
list(APPEND SUNSHINE_COMPILE_OPTIONS -O0 -ggdb3) list(APPEND SUNSHINE_COMPILE_OPTIONS -O0 -ggdb3)
if(WIN32) if(WIN32)
set_source_files_properties(sunshine/nvhttp.cpp PROPERTIES COMPILE_FLAGS -O2) set_source_files_properties(src/nvhttp.cpp PROPERTIES COMPILE_FLAGS -O2)
endif() endif()
else() else()
add_definitions(-DNDEBUG) add_definitions(-DNDEBUG)

View File

@@ -1,3 +1,4 @@
---
"base_path": "." "base_path": "."
"base_url": "https://api.crowdin.com" # optional (for Crowdin Enterprise only) "base_url": "https://api.crowdin.com" # optional (for Crowdin Enterprise only)
"preserve_hierarchy": false # flatten tree on crowdin "preserve_hierarchy": false # flatten tree on crowdin
@@ -6,10 +7,10 @@
"l10n" "l10n"
] ]
"files" : [ "files": [
{ {
"source" : "/locale/*.po", "source": "/locale/*.po",
"translation" : "/locale/%two_letters_code%/LC_MESSAGES/%original_file_name%", "translation": "/locale/%two_letters_code%/LC_MESSAGES/%original_file_name%",
"languages_mapping": { "languages_mapping": {
"two_letters_code": { "two_letters_code": {
# map non-two letter codes here, left side is crowdin designation, right side is babel designation # map non-two letter codes here, left side is crowdin designation, right side is babel designation

View File

@@ -67,7 +67,7 @@ any of the following paths are modified.
.. code-block:: yaml .. code-block:: yaml
- 'sunshine/**' - 'src/**'
When testing locally it may be desirable to manually extract, initialize, update, and compile strings. Python is When testing locally it may be desirable to manually extract, initialize, update, and compile strings. Python is
required for this, along with the python dependencies in the `./scripts/requirements.txt` file. Additionally, required for this, along with the python dependencies in the `./scripts/requirements.txt` file. Additionally,

View File

@@ -1,3 +1,4 @@
---
app-id: dev.lizardbyte.sunshine app-id: dev.lizardbyte.sunshine
runtime: org.freedesktop.Platform runtime: org.freedesktop.Platform
runtime-version: "21.08" runtime-version: "21.08"
@@ -35,7 +36,7 @@ modules:
- '*' - '*'
build-commands: build-commands:
- chmod u+x ./cuda.run - chmod u+x ./cuda.run
- ./cuda.run --silent --toolkit --toolkitpath=$FLATPAK_DEST/cuda --no-opengl-libs --no-man-page --no-drm --tmpdir=$FLATPAK_BUILDER_BUILDDIR - ./cuda.run --silent --toolkit --toolkitpath=$FLATPAK_DEST/cuda --no-opengl-libs --no-man-page --no-drm --tmpdir=$FLATPAK_BUILDER_BUILDDIR # yamllint disable-line rule:line-length
- rm -r $FLATPAK_DEST/cuda/nsight-systems-2021.3.2 - rm -r $FLATPAK_DEST/cuda/nsight-systems-2021.3.2
- rm ./cuda.run - rm ./cuda.run
sources: sources:
@@ -48,7 +49,7 @@ modules:
- type: file - type: file
only-arches: only-arches:
- aarch64 - aarch64
url: https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux_sbsa.run url: https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux_sbsa.run # yamllint disable-line rule:line-length
sha256: f2c4a52e06329606c8dfb7c5ea3f4cb4c0b28f9d3fdffeeb734fcc98daf580d8 sha256: f2c4a52e06329606c8dfb7c5ea3f4cb4c0b28f9d3fdffeeb734fcc98daf580d8
dest-filename: cuda.run dest-filename: cuda.run
@@ -56,7 +57,7 @@ modules:
buildsystem: simple buildsystem: simple
build-commands: build-commands:
- ./bootstrap.sh --prefix=$FLATPAK_DEST --with-libraries=system,thread,log - ./bootstrap.sh --prefix=$FLATPAK_DEST --with-libraries=system,thread,log
- ./b2 install variant=release link=static,shared runtime-link=shared cxxflags="$CXXFLAGS" linkflags="$LDFLAGS" -j $FLATPAK_BUILDER_N_JOBS - ./b2 install variant=release link=static,shared runtime-link=shared cxxflags="$CXXFLAGS" linkflags="$LDFLAGS" -j $FLATPAK_BUILDER_N_JOBS # yamllint disable-line rule:line-length
sources: sources:
- type: archive - type: archive
url: https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2 url: https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2
@@ -170,7 +171,7 @@ modules:
- /bin - /bin
sources: sources:
- type: archive - type: archive
url: https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz url: https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz # yamllint disable-line rule:line-length
sha256: 92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb sha256: 92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
- name: libevdev - name: libevdev
@@ -210,6 +211,6 @@ modules:
- -DSUNSHINE_ENABLE_CUDA=ON - -DSUNSHINE_ENABLE_CUDA=ON
sources: sources:
- type: git - type: git
url: @GITHUB_CLONE_URL@ url: '@GITHUB_CLONE_URL@'
branch: @GITHUB_BRANCH@ branch: '@GITHUB_BRANCH@'
commit: @GITHUB_COMMIT@ commit: '@GITHUB_COMMIT@'

View File

@@ -11,8 +11,8 @@
#include <mutex> #include <mutex>
#include <string> #include <string>
#include "sunshine/thread_safe.h" #include "src/thread_safe.h"
#include "sunshine/utility.h" #include "src/utility.h"
struct sockaddr; struct sockaddr;
struct AVFrame; struct AVFrame;

View File

@@ -10,11 +10,11 @@
#include <pulse/pulseaudio.h> #include <pulse/pulseaudio.h>
#include <pulse/simple.h> #include <pulse/simple.h>
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/config.h" #include "src/config.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/thread_safe.h" #include "src/thread_safe.h"
namespace platf { namespace platf {
using namespace std::literals; using namespace std::literals;

View File

@@ -11,8 +11,8 @@ extern "C" {
#include "cuda.h" #include "cuda.h"
#include "graphics.h" #include "graphics.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/utility.h" #include "src/utility.h"
#include "wayland.h" #include "wayland.h"
#define SUNSHINE_STRINGVIEW_HELPER(x) x##sv #define SUNSHINE_STRINGVIEW_HELPER(x) x##sv

View File

@@ -1,5 +1,5 @@
#include "graphics.h" #include "graphics.h"
#include "sunshine/video.h" #include "src/video.h"
#include <fcntl.h> #include <fcntl.h>

View File

@@ -8,9 +8,9 @@
#include <glad/gl.h> #include <glad/gl.h>
#include "misc.h" #include "misc.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/utility.h" #include "src/utility.h"
#define SUNSHINE_STRINGIFY_HELPER(x) #x #define SUNSHINE_STRINGIFY_HELPER(x) #x
#define SUNSHINE_STRINGIFY(x) SUNSHINE_STRINGIFY_HELPER(x) #define SUNSHINE_STRINGIFY(x) SUNSHINE_STRINGIFY_HELPER(x)

View File

@@ -9,11 +9,11 @@
#include <cstring> #include <cstring>
#include <filesystem> #include <filesystem>
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/utility.h" #include "src/utility.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
// Support older versions // Support older versions
#ifndef REL_HWHEEL_HI_RES #ifndef REL_HWHEEL_HI_RES

View File

@@ -8,10 +8,10 @@
#include <filesystem> #include <filesystem>
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/round_robin.h" #include "src/round_robin.h"
#include "sunshine/utility.h" #include "src/utility.h"
// Cursor rendering support through x11 // Cursor rendering support through x11
#include "graphics.h" #include "graphics.h"

View File

@@ -11,8 +11,8 @@
#include "misc.h" #include "misc.h"
#include "vaapi.h" #include "vaapi.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#ifdef __GNUC__ #ifdef __GNUC__
#define SUNSHINE_GNUC_EXTENSION __extension__ #define SUNSHINE_GNUC_EXTENSION __extension__

View File

@@ -4,7 +4,7 @@
#include <unistd.h> #include <unistd.h>
#include <vector> #include <vector>
#include "sunshine/utility.h" #include "src/utility.h"
KITTY_USING_MOVE_T(file_t, int, -1, { KITTY_USING_MOVE_T(file_t, int, -1, {
if(el >= 0) { if(el >= 0) {

View File

@@ -3,10 +3,10 @@
#include <thread> #include <thread>
#include "misc.h" #include "misc.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/nvhttp.h" #include "src/nvhttp.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/utility.h" #include "src/utility.h"
using namespace std::literals; using namespace std::literals;

View File

@@ -9,10 +9,10 @@ extern "C" {
#include "graphics.h" #include "graphics.h"
#include "misc.h" #include "misc.h"
#include "sunshine/config.h" #include "src/config.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/utility.h" #include "src/utility.h"
using namespace std::literals; using namespace std::literals;

View File

@@ -2,7 +2,7 @@
#define SUNSHINE_VAAPI_H #define SUNSHINE_VAAPI_H
#include "misc.h" #include "misc.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
namespace egl { namespace egl {
struct surface_descriptor_t; struct surface_descriptor_t;

View File

@@ -4,10 +4,10 @@
#include <cstdlib> #include <cstdlib>
#include "graphics.h" #include "graphics.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/round_robin.h" #include "src/round_robin.h"
#include "sunshine/utility.h" #include "src/utility.h"
#include "wayland.h" #include "wayland.h"
extern const wl_interface wl_output_interface; extern const wl_interface wl_output_interface;

View File

@@ -1,6 +1,6 @@
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/main.h" #include "src/main.h"
#include "vaapi.h" #include "vaapi.h"
#include "wayland.h" #include "wayland.h"

View File

@@ -2,7 +2,7 @@
// Created by loki on 6/21/19. // Created by loki on 6/21/19.
// //
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include <fstream> #include <fstream>
@@ -16,9 +16,9 @@
#include <xcb/shm.h> #include <xcb/shm.h>
#include <xcb/xfixes.h> #include <xcb/xfixes.h>
#include "sunshine/config.h" #include "src/config.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/task_pool.h" #include "src/task_pool.h"
#include "cuda.h" #include "cuda.h"
#include "graphics.h" #include "graphics.h"

View File

@@ -3,8 +3,8 @@
#include <optional> #include <optional>
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/utility.h" #include "src/utility.h"
// X11 Display // X11 Display
extern "C" struct _XDisplay; extern "C" struct _XDisplay;

View File

@@ -3,7 +3,7 @@
#import <AVFoundation/AVFoundation.h> #import <AVFoundation/AVFoundation.h>
#include "sunshine/platform/macos/TPCircularBuffer/TPCircularBuffer.h" #include "third-party/TPCircularBuffer/TPCircularBuffer.h"
#define kBufferLength 2048 #define kBufferLength 2048

View File

@@ -1,7 +1,7 @@
#ifndef av_img_t_h #ifndef av_img_t_h
#define av_img_t_h #define av_img_t_h
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include <CoreMedia/CoreMedia.h> #include <CoreMedia/CoreMedia.h>
#include <CoreVideo/CoreVideo.h> #include <CoreVideo/CoreVideo.h>

View File

@@ -1,10 +1,10 @@
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/platform/macos/av_img_t.h" #include "src/platform/macos/av_img_t.h"
#include "sunshine/platform/macos/av_video.h" #include "src/platform/macos/av_video.h"
#include "sunshine/platform/macos/nv12_zero_device.h" #include "src/platform/macos/nv12_zero_device.h"
#include "sunshine/config.h" #include "src/config.h"
#include "sunshine/main.h" #include "src/main.h"
namespace fs = std::filesystem; namespace fs = std::filesystem;

View File

@@ -2,9 +2,9 @@
#include <mach/mach.h> #include <mach/mach.h>
#include <mach/mach_time.h> #include <mach/mach_time.h>
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/utility.h" #include "src/utility.h"
// Delay for a double click // Delay for a double click
// FIXME: we probably want to make this configurable // FIXME: we probably want to make this configurable

View File

@@ -1,8 +1,8 @@
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/platform/macos/av_audio.h" #include "src/platform/macos/av_audio.h"
#include "sunshine/config.h" #include "src/config.h"
#include "sunshine/main.h" #include "src/main.h"
namespace platf { namespace platf {
using namespace std::literals; using namespace std::literals;

View File

@@ -6,8 +6,8 @@
#include <pwd.h> #include <pwd.h>
#include "misc.h" #include "misc.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
using namespace std::literals; using namespace std::literals;
namespace fs = std::filesystem; namespace fs = std::filesystem;

View File

@@ -1,7 +1,7 @@
#include "sunshine/platform/macos/nv12_zero_device.h" #include "src/platform/macos/nv12_zero_device.h"
#include "sunshine/platform/macos/av_img_t.h" #include "src/platform/macos/av_img_t.h"
#include "sunshine/video.h" #include "src/video.h"
extern "C" { extern "C" {
#include "libavutil/imgutils.h" #include "libavutil/imgutils.h"

View File

@@ -1,7 +1,7 @@
#ifndef vtdevice_h #ifndef vtdevice_h
#define vtdevice_h #define vtdevice_h
#include "sunshine/platform/common.h" #include "src/platform/common.h"
namespace platf { namespace platf {

View File

@@ -3,10 +3,10 @@
#include <thread> #include <thread>
#include "misc.h" #include "misc.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/nvhttp.h" #include "src/nvhttp.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/utility.h" #include "src/utility.h"
using namespace std::literals; using namespace std::literals;

View File

@@ -14,9 +14,9 @@
#include <propkeydef.h> #include <propkeydef.h>
#undef INITGUID #undef INITGUID
#include "sunshine/config.h" #include "src/config.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
// Must be the last included file // Must be the last included file
// clang-format off // clang-format off

View File

@@ -12,8 +12,8 @@
#include <dxgi.h> #include <dxgi.h>
#include <dxgi1_2.h> #include <dxgi1_2.h>
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/utility.h" #include "src/utility.h"
namespace platf::dxgi { namespace platf::dxgi {
extern const char *format_str[]; extern const char *format_str[];

View File

@@ -7,9 +7,9 @@
#include "display.h" #include "display.h"
#include "misc.h" #include "misc.h"
#include "sunshine/config.h" #include "src/config.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
namespace platf { namespace platf {
using namespace std::literals; using namespace std::literals;

View File

@@ -1,5 +1,5 @@
#include "display.h" #include "display.h"
#include "sunshine/main.h" #include "src/main.h"
namespace platf { namespace platf {
using namespace std::literals; using namespace std::literals;

View File

@@ -11,8 +11,8 @@ extern "C" {
} }
#include "display.h" #include "display.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/video.h" #include "src/video.h"
#define SUNSHINE_SHADERS_DIR SUNSHINE_ASSETS_DIR "/shaders/directx" #define SUNSHINE_SHADERS_DIR SUNSHINE_ASSETS_DIR "/shaders/directx"

View File

@@ -5,9 +5,9 @@
#include <ViGEm/Client.h> #include <ViGEm/Client.h>
#include "misc.h" #include "misc.h"
#include "sunshine/config.h" #include "src/config.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
namespace platf { namespace platf {
using namespace std::literals; using namespace std::literals;

View File

@@ -12,8 +12,8 @@
#include <ws2tcpip.h> #include <ws2tcpip.h>
// clang-format on // clang-format on
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/utility.h" #include "src/utility.h"
using namespace std::literals; using namespace std::literals;
namespace platf { namespace platf {

View File

@@ -8,12 +8,12 @@
#include <boost/asio/ip/host_name.hpp> #include <boost/asio/ip/host_name.hpp>
#include "misc.h" #include "misc.h"
#include "sunshine/config.h" #include "src/config.h"
#include "sunshine/main.h" #include "src/main.h"
#include "sunshine/network.h" #include "src/network.h"
#include "sunshine/nvhttp.h" #include "src/nvhttp.h"
#include "sunshine/platform/common.h" #include "src/platform/common.h"
#include "sunshine/thread_safe.h" #include "src/thread_safe.h"
#define _FN(x, ret, args) \ #define _FN(x, ret, args) \
typedef ret(*x##_fn) args; \ typedef ret(*x##_fn) args; \

Some files were not shown because too many files have changed in this diff Show More