Skip to content

Commit 70ae7a2

Browse files
Merge pull request #190 from SunshineStream/nightly
v0.14.0
2 parents 4b658cd + 651d75f commit 70ae7a2

File tree

133 files changed

+4215
-1536
lines changed

Some content is hidden

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

133 files changed

+4215
-1536
lines changed

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
blank_issues_enabled: false
22
contact_links:
3+
- name: AUR Package Issue
4+
url: https://aur.archlinux.org/packages/sunshine
5+
about: AUR Package Issues should be discussed on the AUR
36
- name: Github Discussions
47
url: https://github.com/SunshineStream/Sunshine/discussions
58
about: General discussion, support, feature requests and more!

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,10 @@ updates:
66
interval: "daily"
77
target-branch: "nightly"
88
open-pull-requests-limit: 20
9+
10+
- package-ecosystem: "pip"
11+
directory: "/scripts"
12+
schedule:
13+
interval: "daily"
14+
target-branch: "nightly"
15+
open-pull-requests-limit: 10

.github/pull_request_template.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
11
## Description
2-
3-
Please include a summary of the changes.
2+
<!--- Please include a summary of the changes. --->
43

54
### Screenshot
6-
7-
Include screenshots if the changes are UI-related.
5+
<!--- Include screenshots if the changes are UI-related. --->
86

97
### Issues Fixed or Closed
10-
8+
<!--- Delete if not relevant. --->
119
- Fixes #(issue)
1210

1311
## Type of Change
14-
15-
Please delete options that are not relevant.
16-
12+
<!--- Please delete options that are not relevant. --->
1713
- [ ] Bug fix (non-breaking change which fixes an issue)
1814
- [ ] New feature (non-breaking change which adds functionality)
1915
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
2016

2117
## Checklist
22-
18+
<!--- DO NOT delete any options here. It is okay to have items unchecked! --->
2319
- [ ] My code follows the style guidelines of this project
2420
- [ ] I have performed a self-review of my own code
2521
- [ ] I have commented my code, particularly in hard-to-understand areas
26-
- [ ] I have added or updated the documentation blocks for new or existing components
22+
- [ ] I have added or updated the docstring/documentation-blocks for new or existing methods/components

.github/workflows/CI.yml

Lines changed: 415 additions & 167 deletions
Large diffs are not rendered by default.

.github/workflows/clang.yml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,29 @@ name: clang-format-lint
33
on:
44
pull_request:
55
branches: [master, nightly]
6-
types: [opened, synchronize, edited, reopened]
6+
types: [opened, synchronize, reopened]
77

88
jobs:
99
lint:
1010
name: Clang Format Lint
1111
runs-on: ubuntu-latest
12-
strategy:
13-
fail-fast: false # false to test all, true to fail entire job if any fail
14-
matrix:
15-
inplace: [ true, false ] # removed ubuntu_18_04 for now
1612

1713
steps:
1814
- name: Checkout
19-
uses: actions/checkout@v2
15+
uses: actions/checkout@v3
2016

2117
- name: Clang format lint
22-
uses: DoozyX/clang-format-lint-action@v0.13
18+
uses: DoozyX/clang-format-lint-action@v0.14
2319
with:
2420
source: './sunshine'
2521
extensions: 'cpp,h,m,mm'
2622
clangFormatVersion: 13
2723
style: file
28-
inplace: ${{ matrix.inplace }}
24+
inplace: false
2925

3026
- name: Upload Artifacts
31-
if: ${{ matrix.inplace == true }}
32-
uses: actions/upload-artifact@v2
27+
if: failure()
28+
uses: actions/upload-artifact@v3
3329
with:
3430
name: sunshine
3531
path: sunshine/

.github/workflows/issues-stale.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Stale
13-
uses: actions/stale@v3
13+
uses: actions/stale@v5
1414
with:
1515
stale-issue-message: >
1616
This issue is stale because it has been open for 30 days with no activity.
@@ -26,25 +26,23 @@ jobs:
2626
This PR was closed because it has been stalled for 5 days with no activity.
2727
stale-pr-label: 'stale'
2828
exempt-pr-labels: 'status:in-progress'
29-
days-before-stale: 30
30-
days-before-close: 5
29+
days-before-stale: 60
30+
days-before-close: 10
3131

3232
- name: Invalid Template
33-
uses: actions/stale@v3
33+
uses: actions/stale@v5
3434
with:
3535
stale-issue-message: >
3636
Invalid issues template.
3737
close-issue-message: >
3838
This issue was closed because the the template was not completed after 5 days.
3939
stale-issue-label: 'invalid:template-incomplete'
40-
skip-stale-issue-message: true
4140
stale-pr-message: >
4241
Invalid PR template.
4342
close-pr-message: >
4443
This PR was closed because the the template was not completed after 5 days.
4544
stale-pr-label: 'invalid:template-incomplete'
4645
exempt-pr-labels: 'status:in-progress'
47-
skip-stale-pr-message: true
4846
only-labels: 'invalid:template-incomplete'
4947
days-before-stale: 0
5048
days-before-close: 5

.github/workflows/localize.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: localize
2+
3+
on:
4+
push:
5+
branches: [nightly]
6+
paths: # prevents workflow from running unless these files change
7+
- '.github/workflows/localize.yml'
8+
- 'sunshine/**'
9+
- 'locale/sunshine.po'
10+
workflow_dispatch:
11+
12+
env:
13+
file: ./locale/sunshine.po
14+
15+
jobs:
16+
localize:
17+
name: Update Localization
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v3
23+
24+
- name: Install Python 3.9
25+
uses: actions/setup-python@v4 # https://github.com/actions/setup-python
26+
with:
27+
python-version: '3.9'
28+
29+
- name: Set up Python 3.9 Dependencies
30+
run: |
31+
cd ./scripts
32+
python -m pip install --upgrade pip setuptools
33+
python -m pip install -r requirements.txt
34+
35+
- name: Set up xgettext
36+
run: |
37+
sudo apt-get update -y && \
38+
sudo apt-get --reinstall install -y \
39+
gettext
40+
41+
- name: Update Strings
42+
run: |
43+
# first, try to remove existing file as xgettext does not remove unused translations
44+
if [ -f "${{ env.file }}" ];
45+
then
46+
rm ${{ env.file }}
47+
echo "new_file=false" >> $GITHUB_ENV
48+
else
49+
echo "new_file=true" >> $GITHUB_ENV
50+
fi
51+
52+
# extract the new strings
53+
python ./scripts/_locale.py --extract
54+
55+
- name: git diff
56+
if: ${{ env.new_file == 'false' }}
57+
run: |
58+
# disable the pager
59+
git config --global pager.diff false
60+
61+
# print the git diff
62+
git diff locale/sunshine.po
63+
64+
# set the variable with minimal output
65+
OUTPUT=$(git diff --numstat locale/sunshine.po)
66+
echo "git_diff=${OUTPUT}" >> $GITHUB_ENV
67+
68+
- name: git reset
69+
# only run if a single line changed (date/time) and file already existed
70+
if: ${{ env.git_diff == '1 1 locale/sunshine.po' && env.new_file == 'false' }}
71+
run: |
72+
git reset --hard
73+
74+
- name: Create/Update Pull Request
75+
uses: peter-evans/create-pull-request@v4
76+
with:
77+
add-paths: |
78+
locale/*.po
79+
token: ${{ secrets.GH_PAT }} # must trigger PR tests
80+
commit-message: New localization template
81+
branch: localize/update
82+
delete-branch: true
83+
base: nightly
84+
title: New Babel Updates
85+
body: |
86+
Update report
87+
- Updated with *today's* date
88+
- Auto-generated by [create-pull-request][1]
89+
90+
[1]: https://github.com/peter-evans/create-pull-request
91+
labels: |
92+
babel
93+
l10n

.github/workflows/pull-requests.yml

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,17 @@ on:
55
types: [opened, synchronize, edited, reopened]
66

77
jobs:
8-
check-branch:
8+
check-pull-request:
99
name: Check Pull Request
1010
runs-on: ubuntu-latest
1111
steps:
12-
- name: Checkout Code
13-
uses: actions/checkout@v2
14-
15-
- name: Branch check
16-
if: ( github.head_ref == 'repo-sync/common-repo-files/default' && github.base_ref == 'master' ) || ( github.head_ref == 'nightly' && github.base_ref == 'master' )
17-
run: |
18-
echo Base: "$GITHUB_BASE_REF"
19-
echo Head: "$GITHUB_HEAD_REF"
20-
echo "branch=True" >> $GITHUB_ENV
21-
22-
- name: Comment on Pull Request
23-
uses: mshick/add-pr-comment@v1
24-
if: github.base_ref != 'nightly' && env.branch != 'True'
12+
- uses: Vankka/pr-target-branch-action@v2
13+
env:
14+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2515
with:
26-
message: Pull requests must be made to the `nightly` branch. Thanks.
27-
repo-token: ${{ secrets.GITHUB_TOKEN }}
28-
repo-token-user-login: 'github-actions[bot]'
29-
30-
- name: Fail Workflow
31-
if: github.base_ref != 'nightly' && env.branch != 'True'
32-
run: |
33-
echo Base: "$GITHUB_BASE_REF"
34-
echo Head: "$GITHUB_HEAD_REF"
35-
exit 1
16+
target: master
17+
exclude: nightly # Don't prevent going from nightly -> master
18+
change-to: nightly
19+
comment: |
20+
Your PR was set to `master`, PRs should be sent to `nightly`
21+
The base branch of this PR has been automatically changed to `nightly`, please check that there are no merge conflicts

.gitignore

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,15 @@ cmake-build*
1010
.idea
1111

1212
# Extra FontAwesome files
13-
/assets/web/fonts/fontawesome-free-web/css/*.css
14-
!/assets/web/fonts/fontawesome-free-web/css/*min.css
15-
/assets/web/fonts/fontawesome-free-web/js/
16-
/assets/web/fonts/fontawesome-free-web/less/
17-
/assets/web/fonts/fontawesome-free-web/metadata/
18-
/assets/web/fonts/fontawesome-free-web/scss/
19-
/assets/web/fonts/fontawesome-free-web/sprites/
20-
/assets/web/fonts/fontawesome-free-web/svgs/
13+
/src_assets/common/assets/web/fonts/fontawesome-free-web/css/*.css
14+
!/src_assets/common/assets/web/fonts/fontawesome-free-web/css/*min.css
15+
/src_assets/common/assets/web/fonts/fontawesome-free-web/js/
16+
/src_assets/common/assets/web/fonts/fontawesome-free-web/less/
17+
/src_assets/common/assets/web/fonts/fontawesome-free-web/metadata/
18+
/src_assets/common/assets/web/fonts/fontawesome-free-web/scss/
19+
/src_assets/common/assets/web/fonts/fontawesome-free-web/sprites/
20+
/src_assets/common/assets/web/fonts/fontawesome-free-web/svgs/
21+
22+
# Translations
23+
*.mo
24+
*.pot

.readthedocs.yaml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# .readthedocs.yaml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Set the version of Python
9+
build:
10+
os: ubuntu-20.04
11+
tools:
12+
python: "3.9"
13+
14+
## apt packages required packages to run cmake on sunshine, note that additional packages are required
15+
# apt_packages:
16+
# - cmake
17+
# - ffmpeg
18+
# - libboost-filesystem-dev
19+
# - libboost-log-dev
20+
# - libboost-thread-dev
21+
22+
## run cmake
23+
# jobs:
24+
# pre_build:
25+
# - cmake .
26+
27+
## Include the submodules, required for cmake
28+
#submodules:
29+
# include: all
30+
# recursive: true
31+
32+
# Build documentation in the docs/ directory with Sphinx
33+
sphinx:
34+
builder: html
35+
configuration: docs/source/conf.py
36+
fail_on_warning: true
37+
38+
# Using Sphinx, build docs in additional formats
39+
formats: all
40+
41+
python:
42+
install:
43+
- requirements: ./scripts/requirements.txt
44+
system_packages: true

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# Changelog
22

3+
## [0.14.0] - 2022-06-15
4+
### Added
5+
- (Documentation) Added Sphinx documentation available at https://sunshinestream.readthedocs.io/en/latest/
6+
- (Development) Initial support for Localization
7+
- (Linux) Add rpm package as release asset
8+
- (MacOS) Add Portfile as release asset
9+
- (Windows) Add DwmFlush() call to improve capture
10+
- (Windows) Add Windows installer
11+
### Fixed
12+
- (AMD) Fixed hwdevice being destroyed before context
13+
- (Linux) Added missing dependencies to AppImage
14+
- (Linux) Fixed rumble events causing game to freeze
15+
- (Linux) Improved Pulse/Pipewire compatibility
16+
- (Linux) Moved to single deb package
17+
- (MacOS) Fixed missing TPCircularBuffer submodule
18+
- (Stream) Properly catch exceptions in stream broadcast handlers
19+
- (Stream/Video) AVPacket fix
20+
321
## [0.13.0] - 2022-02-27
422
### Added
523
- (MacOS) Initial support for MacOS (#40)

0 commit comments

Comments
 (0)