diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 00000000..4da04b37 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,37 @@ +--- +name: Bug report +about: Create a report to help us improve +title: "" +labels: '' +assignees: '' + +--- + +**Describe the bug** + + +**To Reproduce** + +1. [e.g. Go to '...'] +2. [e.g. Click on '....'] +3. [e.g. Scroll down to '....'] +4. [e.g. See error] + +**Expected behavior** + + +**Screenshots** + + +**Host** + + - OS: [e.g. Windows, Linux, Mac... include build/distro details] + - Architecture: [e.g. 32 bit, 64 bit, arm] + - Version: [e.g. 0.11.1] + - GPU Type: [e.g. Intel, AMD, Nvidia] + - GPU Model: + - GPU Driver/Mesa Version: + - Capture method (Linux only): [e.g. PipeWire/KVM/X11] + +**Additional context** + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..64fadc7a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Github Discussions + url: https://github.com/SunshineStream/Sunshine/discussions + about: General discussion, support, feature requests and more! + - name: Discord support + url: https://discord.com/invite/CGg5JxN + about: Ask question about Sunshine in Discord diff --git a/.github/label-actions.yml b/.github/label-actions.yml new file mode 100644 index 00000000..de9759f7 --- /dev/null +++ b/.github/label-actions.yml @@ -0,0 +1,46 @@ +# Configuration for Label Actions - https://github.com/dessant/label-actions + +added: + comment: > + This feature has been added and will be available in the next release. + +fixed: + comment: > + This issue has been fixed and will be available in the next release. + +invalid:duplicate: + comment: > + :wave: @{issue-author}, this appears to be a duplicate of a pre-existing issue. + close: true + lock: true + unlabel: 'status:awaiting-triage' + +-invalid:duplicate: + reopen: true + unlock: true + +invalid:support: + comment: > + :wave: @{issue-author}, we use the issue tracker exclusively for bug reports. + However, this issue appears to be a support request. Please use our + [Discord Server](https://discord.com/invite/CGg5JxN) to get help. Thanks. + close: true + lock: true + lock-reason: 'off-topic' + unlabel: 'status:awaiting-triage' + +-invalid:support: + reopen: true + unlock: true + +invalid:template-incomplete: + issues: + comment: > + :wave: @{issue-author}, please edit your issue to complete the template with + all the required info. Your issue will be automatically closed in 5 days if + the template is not completed. Thanks. + prs: + comment: > + :wave: @{issue-author}, please edit your PR to complete the template with + all the required info. Your PR will be automatically closed in 5 days if + the template is not completed. Thanks. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..e3bcbfdc --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,26 @@ +## Description + +Please include a summary of the changes. + +### Screenshot + +Include screenshots if the changes are UI-related. + +### Issues Fixed or Closed + +- Fixes #(issue) + +## Type of Change + +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 + +- [ ] 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 diff --git a/.github/workflows/issues-stale.yml b/.github/workflows/issues-stale.yml new file mode 100644 index 00000000..126af260 --- /dev/null +++ b/.github/workflows/issues-stale.yml @@ -0,0 +1,50 @@ +name: Stale Issues / PRs + +on: + schedule: + - cron: '00 19 * * *' + +jobs: + stale: + name: Check Issues / PRs + runs-on: ubuntu-latest + steps: + - name: Stale + uses: actions/stale@v3 + with: + stale-issue-message: > + This issue is stale because it has been open for 30 days with no activity. + Remove the stale label or comment, otherwise this will be closed in 5 days. + close-issue-message: > + This issue was closed because it has been stalled for 5 days with no activity. + stale-issue-label: 'stale' + exempt-issue-labels: 'added,fixed,type:enhancement,status:awaiting-triage,status:in-progress' + stale-pr-message: > + This PR is stale because it has been open for 30 days with no activity. + Remove the stale label or comment, otherwise this will be closed in 5 days. + close-pr-message: > + 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 + + - name: Invalid Template + uses: actions/stale@v3 + 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 diff --git a/.github/workflows/issues.yml b/.github/workflows/issues.yml new file mode 100644 index 00000000..728cd8c9 --- /dev/null +++ b/.github/workflows/issues.yml @@ -0,0 +1,15 @@ +name: Issues + +on: + issues: + types: [labeled, unlabeled] + +jobs: + label: + name: Label Issues + runs-on: ubuntu-latest + steps: + - name: Label Issues + uses: dessant/label-actions@v2 + with: + github-token: ${{ github.token }} diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml new file mode 100644 index 00000000..a322319e --- /dev/null +++ b/.github/workflows/pull-requests.yml @@ -0,0 +1,35 @@ +name: Pull Requests + +on: + pull_request_target: + types: [opened, synchronize, edited, reopened] + +jobs: + check-branch: + 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' + 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