Skip to content

Commit

Permalink
Merge pull request #190 from SunshineStream/nightly
Browse files Browse the repository at this point in the history
v0.14.0
  • Loading branch information
ReenigneArcher authored Jun 15, 2022
2 parents 4b658cd + 651d75f commit 70ae7a2
Show file tree
Hide file tree
Showing 133 changed files with 4,215 additions and 1,536 deletions.
3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: AUR Package Issue
url: https://aur.archlinux.org/packages/sunshine
about: AUR Package Issues should be discussed on the AUR
- name: Github Discussions
url: https://github.com/SunshineStream/Sunshine/discussions
about: General discussion, support, feature requests and more!
Expand Down
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,10 @@ updates:
interval: "daily"
target-branch: "nightly"
open-pull-requests-limit: 20

- package-ecosystem: "pip"
directory: "/scripts"
schedule:
interval: "daily"
target-branch: "nightly"
open-pull-requests-limit: 10
16 changes: 6 additions & 10 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
## Description

Please include a summary of the changes.
<!--- Please include a summary of the changes. --->

### Screenshot

Include screenshots if the changes are UI-related.
<!--- Include screenshots if the changes are UI-related. --->

### Issues Fixed or Closed

<!--- Delete if not relevant. --->
- Fixes #(issue)

## Type of Change

Please delete options that are not relevant.

<!--- Please delete options that are not relevant. --->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

## Checklist

<!--- DO NOT delete any options here. It is okay to have items unchecked! --->
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated the documentation blocks for new or existing components
- [ ] I have added or updated the docstring/documentation-blocks for new or existing methods/components
582 changes: 415 additions & 167 deletions .github/workflows/CI.yml

Large diffs are not rendered by default.

16 changes: 6 additions & 10 deletions .github/workflows/clang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,29 @@ name: clang-format-lint
on:
pull_request:
branches: [master, nightly]
types: [opened, synchronize, edited, reopened]
types: [opened, synchronize, reopened]

jobs:
lint:
name: Clang Format Lint
runs-on: ubuntu-latest
strategy:
fail-fast: false # false to test all, true to fail entire job if any fail
matrix:
inplace: [ true, false ] # removed ubuntu_18_04 for now

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Clang format lint
uses: DoozyX/clang-format-lint-action@v0.13
uses: DoozyX/clang-format-lint-action@v0.14
with:
source: './sunshine'
extensions: 'cpp,h,m,mm'
clangFormatVersion: 13
style: file
inplace: ${{ matrix.inplace }}
inplace: false

- name: Upload Artifacts
if: ${{ matrix.inplace == true }}
uses: actions/upload-artifact@v2
if: failure()
uses: actions/upload-artifact@v3
with:
name: sunshine
path: sunshine/
10 changes: 4 additions & 6 deletions .github/workflows/issues-stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Stale
uses: actions/stale@v3
uses: actions/stale@v5
with:
stale-issue-message: >
This issue is stale because it has been open for 30 days with no activity.
Expand All @@ -26,25 +26,23 @@ jobs:
This PR was closed because it has been stalled for 5 days with no activity.
stale-pr-label: 'stale'
exempt-pr-labels: 'status:in-progress'
days-before-stale: 30
days-before-close: 5
days-before-stale: 60
days-before-close: 10

- name: Invalid Template
uses: actions/stale@v3
uses: actions/stale@v5
with:
stale-issue-message: >
Invalid issues template.
close-issue-message: >
This issue was closed because the the template was not completed after 5 days.
stale-issue-label: 'invalid:template-incomplete'
skip-stale-issue-message: true
stale-pr-message: >
Invalid PR template.
close-pr-message: >
This PR was closed because the the template was not completed after 5 days.
stale-pr-label: 'invalid:template-incomplete'
exempt-pr-labels: 'status:in-progress'
skip-stale-pr-message: true
only-labels: 'invalid:template-incomplete'
days-before-stale: 0
days-before-close: 5
93 changes: 93 additions & 0 deletions .github/workflows/localize.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: localize

on:
push:
branches: [nightly]
paths: # prevents workflow from running unless these files change
- '.github/workflows/localize.yml'
- 'sunshine/**'
- 'locale/sunshine.po'
workflow_dispatch:

env:
file: ./locale/sunshine.po

jobs:
localize:
name: Update Localization
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install Python 3.9
uses: actions/setup-python@v4 # https://github.com/actions/setup-python
with:
python-version: '3.9'

- name: Set up Python 3.9 Dependencies
run: |
cd ./scripts
python -m pip install --upgrade pip setuptools
python -m pip install -r requirements.txt
- name: Set up xgettext
run: |
sudo apt-get update -y && \
sudo apt-get --reinstall install -y \
gettext
- name: Update Strings
run: |
# first, try to remove existing file as xgettext does not remove unused translations
if [ -f "${{ env.file }}" ];
then
rm ${{ env.file }}
echo "new_file=false" >> $GITHUB_ENV
else
echo "new_file=true" >> $GITHUB_ENV
fi
# extract the new strings
python ./scripts/_locale.py --extract
- name: git diff
if: ${{ env.new_file == 'false' }}
run: |
# disable the pager
git config --global pager.diff false
# print the git diff
git diff locale/sunshine.po
# set the variable with minimal output
OUTPUT=$(git diff --numstat locale/sunshine.po)
echo "git_diff=${OUTPUT}" >> $GITHUB_ENV
- name: git reset
# 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' }}
run: |
git reset --hard
- name: Create/Update Pull Request
uses: peter-evans/create-pull-request@v4
with:
add-paths: |
locale/*.po
token: ${{ secrets.GH_PAT }} # must trigger PR tests
commit-message: New localization template
branch: localize/update
delete-branch: true
base: nightly
title: New Babel Updates
body: |
Update report
- Updated with *today's* date
- Auto-generated by [create-pull-request][1]
[1]: https://github.com/peter-evans/create-pull-request
labels: |
babel
l10n
34 changes: 10 additions & 24 deletions .github/workflows/pull-requests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,17 @@ on:
types: [opened, synchronize, edited, reopened]

jobs:
check-branch:
check-pull-request:
name: Check Pull Request
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Branch check
if: ( github.head_ref == 'repo-sync/common-repo-files/default' && github.base_ref == 'master' ) || ( github.head_ref == 'nightly' && github.base_ref == 'master' )
run: |
echo Base: "$GITHUB_BASE_REF"
echo Head: "$GITHUB_HEAD_REF"
echo "branch=True" >> $GITHUB_ENV
- name: Comment on Pull Request
uses: mshick/add-pr-comment@v1
if: github.base_ref != 'nightly' && env.branch != 'True'
- uses: Vankka/pr-target-branch-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
message: Pull requests must be made to the `nightly` branch. Thanks.
repo-token: ${{ secrets.GITHUB_TOKEN }}
repo-token-user-login: 'github-actions[bot]'

- name: Fail Workflow
if: github.base_ref != 'nightly' && env.branch != 'True'
run: |
echo Base: "$GITHUB_BASE_REF"
echo Head: "$GITHUB_HEAD_REF"
exit 1
target: master
exclude: nightly # Don't prevent going from nightly -> master
change-to: nightly
comment: |
Your PR was set to `master`, PRs should be sent to `nightly`
The base branch of this PR has been automatically changed to `nightly`, please check that there are no merge conflicts
20 changes: 12 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,15 @@ cmake-build*
.idea

# Extra FontAwesome files
/assets/web/fonts/fontawesome-free-web/css/*.css
!/assets/web/fonts/fontawesome-free-web/css/*min.css
/assets/web/fonts/fontawesome-free-web/js/
/assets/web/fonts/fontawesome-free-web/less/
/assets/web/fonts/fontawesome-free-web/metadata/
/assets/web/fonts/fontawesome-free-web/scss/
/assets/web/fonts/fontawesome-free-web/sprites/
/assets/web/fonts/fontawesome-free-web/svgs/
/src_assets/common/assets/web/fonts/fontawesome-free-web/css/*.css
!/src_assets/common/assets/web/fonts/fontawesome-free-web/css/*min.css
/src_assets/common/assets/web/fonts/fontawesome-free-web/js/
/src_assets/common/assets/web/fonts/fontawesome-free-web/less/
/src_assets/common/assets/web/fonts/fontawesome-free-web/metadata/
/src_assets/common/assets/web/fonts/fontawesome-free-web/scss/
/src_assets/common/assets/web/fonts/fontawesome-free-web/sprites/
/src_assets/common/assets/web/fonts/fontawesome-free-web/svgs/

# Translations
*.mo
*.pot
44 changes: 44 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python
build:
os: ubuntu-20.04
tools:
python: "3.9"

## apt packages required packages to run cmake on sunshine, note that additional packages are required
# apt_packages:
# - cmake
# - ffmpeg
# - libboost-filesystem-dev
# - libboost-log-dev
# - libboost-thread-dev

## run cmake
# jobs:
# pre_build:
# - cmake .

## Include the submodules, required for cmake
#submodules:
# include: all
# recursive: true

# Build documentation in the docs/ directory with Sphinx
sphinx:
builder: html
configuration: docs/source/conf.py
fail_on_warning: true

# Using Sphinx, build docs in additional formats
formats: all

python:
install:
- requirements: ./scripts/requirements.txt
system_packages: true
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Changelog

## [0.14.0] - 2022-06-15
### Added
- (Documentation) Added Sphinx documentation available at https://sunshinestream.readthedocs.io/en/latest/
- (Development) Initial support for Localization
- (Linux) Add rpm package as release asset
- (MacOS) Add Portfile as release asset
- (Windows) Add DwmFlush() call to improve capture
- (Windows) Add Windows installer
### Fixed
- (AMD) Fixed hwdevice being destroyed before context
- (Linux) Added missing dependencies to AppImage
- (Linux) Fixed rumble events causing game to freeze
- (Linux) Improved Pulse/Pipewire compatibility
- (Linux) Moved to single deb package
- (MacOS) Fixed missing TPCircularBuffer submodule
- (Stream) Properly catch exceptions in stream broadcast handlers
- (Stream/Video) AVPacket fix

## [0.13.0] - 2022-02-27
### Added
- (MacOS) Initial support for MacOS (#40)
Expand Down
Loading

0 comments on commit 70ae7a2

Please sign in to comment.