Browse Source

Update the GitHub Issue and PR templates to a new format and add a CLA workflow

v6.1.6
Tom Poole 3 years ago
parent
commit
bbbb967c63
7 changed files with 172 additions and 23 deletions
  1. +0
    -17
      .github/ISSUE_TEMPLATE.txt
  2. +95
    -0
      .github/ISSUE_TEMPLATE/bug_report.yml
  3. +8
    -0
      .github/ISSUE_TEMPLATE/config.yml
  4. +34
    -0
      .github/contributing.md
  5. +4
    -0
      .github/pull_request_template.md
  6. +30
    -0
      .github/workflows/check-cla.yml
  7. +1
    -6
      README.md

+ 0
- 17
.github/ISSUE_TEMPLATE.txt View File

@@ -1,17 +0,0 @@
Please include:

1) detailed steps on how to reproduce the bug, preferably with already
existing JUCE code such as the demo plugin or the demo code
2) the expected behaviour
3) the operating system
4) the architecture (32-bit or 64-bit)
5) a stack trace - if the bug causes a crash
6) the plugin format (VST2, VST3, AU, AAX, RTAS) - if applicable
7) which DAW you observed the bug in - if applicable

Make sure you have pulled the latest commits from the `develop` branch of the
JUCE repo and have re-compiled the Projucer before you submit your bug. Often
we have already fixed the issue but it hasn't yet been released on the `master`
branch. If it's a major bug, which must be hot-fixed immediately, then we will
also accept bug reports for tagged release versions.


+ 95
- 0
.github/ISSUE_TEMPLATE/bug_report.yml View File

@@ -0,0 +1,95 @@
name: Bug Report
description: File a bug report
title: "[Bug]: "
body:
- type: markdown
attributes:
value: |
Thank you for reporting an issue with JUCE.
- type: textarea
id: repro
attributes:
label: Detailed steps on how to reproduce the bug
description: If possible please use already existing JUCE code such as the examples or the demo plug-in
validations:
required: true
- type: textarea
id: expected
attributes:
label: What is the expected behaviour?
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating system
description: What operating system do you see the bug on?
multiple: true
options:
- Windows
- macOS
- Linux
- iOS
- Android
- Other
validations:
required: true
- type: textarea
id: osversion
attributes:
label: What version of the operating system?
validations:
required: true
- type: dropdown
id: architecture
attributes:
label: Architecture
description: What type of machine do you see the bug on?
multiple: true
options:
- x86_64
- ARM
- Other
- 64-bit
- 32-bit
validations:
required: true
- type: textarea
id: stacktrace
attributes:
label: Stacktrace
description: Please copy and paste any relevant stack trace. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: dropdown
id: pluginformat
attributes:
label: Plug-in format (if applicable)
multiple: true
options:
- VST2
- VST3
- AU
- AUv3
- AAX
- LV2
- Standalone
- type: textarea
id: pluginhost
attributes:
label: Plug-in host application (DAW) (if applicable)
- type: checkboxes
id: developbranch
attributes:
label: Tested against the `develop` branch
description: We have often already fixed bugs on our `develop` branch. Please confirm if you have tested with the latest commit.
options:
- label: I can reproduce the bug on the `develop` branch
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://berlincodeofconduct.org/)
options:
- label: I agree to follow the Code of Conduct
required: true


+ 8
- 0
.github/ISSUE_TEMPLATE/config.yml View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: JUCE Support
url: https://forum.juce.com/
about: Please use the JUCE forum to ask questions.
- name: Feature Requests
url: https://forum.juce.com/c/feature-requests
about: Please submit feature requests on the JUCE forum.

+ 34
- 0
.github/contributing.md View File

@@ -0,0 +1,34 @@
## Contributing

#### Feature Requests

Any feature requests should be posted to the [Feature
Requests](https://forum.juce.com/c/feature-requests/) section of the JUCE
forum.

#### Bug Reports

The [JUCE forum](https://forum.juce.com/) is also the best place to file bug
reports. The JUCE developers are very active there and will read every post and
respond accordingly.

#### Pull Requests

You must sign the [JUCE Contribution Licence Agreement](https://cla.juce.com/)
before your code can be considered for inclusion into JUCE. The automated build
of your Pull Request (PR) will fail if either the author or committer of any
commits in your PR has not signed the Contribution Licence Agreement.

This repository contains just the public branches of the main JUCE development
repository. Any work in your PR will not be merged into any other branch in
this repository, but will instead be reproduced in our private repository. We
may refactor and rewite any code submitted to us in PRs.

All work should be based on our `develop` branch.

#### Code Of Conduct

All interactions of any kind with the code in this repository or the
surrounding commentary in Issues or Pull Requests must abide by our [Code of
Conduct](https://berlincodeofconduct.org/).


+ 4
- 0
.github/pull_request_template.md View File

@@ -0,0 +1,4 @@
Thank you for submitting a pull request.

Please make sure you have read and followed our contribution guidelines (.github/contributing.md in this repository). Your pull request will not be accepted if you have not followed the instructions.


+ 30
- 0
.github/workflows/check-cla.yml View File

@@ -0,0 +1,30 @@
name: check-CLA
on: [pull_request_target]
jobs:
check-cla:
runs-on: ubuntu-latest
env:
PR_NUMBER: ${{ github.event.number }}
steps:
- name: check-CLA
run: |
import urllib.request
import json
import itertools
import sys
def jsonRequest(url, data={}):
req = urllib.request.Request(url,
headers={'Content-Type': 'application/json'},
data=json.dumps(data).encode('utf-8') if data else None)
with urllib.request.urlopen(req) as response:
return json.loads(response.read().decode('utf-8'))
prCommits = jsonRequest('https://api.github.com/repos/juce-framework/JUCE/pulls/${{ github.event.number }}/commits')
authors = map(lambda commit: [commit['author']['login'], commit['committer']['login']], prCommits)
uniqueAuthors = list(set(itertools.chain.from_iterable(authors)))
print(f'\nPR authors: {", ".join(uniqueAuthors)}')
claResult = jsonRequest('https://cla.juce.com/check', {'logins': uniqueAuthors})
unsignedLogins = claResult['unsigned']
if (len(unsignedLogins) != 0):
print(f'\nThe following GitHub users need to sign the JUCE CLA: {", ".join(unsignedLogins)}\n\nPlease go to https://cla.juce.com to sign the JUCE Contributor Licence Agreement\n')
sys.exit(1)
shell: python

+ 1
- 6
README.md View File

@@ -72,12 +72,7 @@ of the target you wish to build.

## Contributing

For bug reports and features requests, please visit the [JUCE Forum](https://forum.juce.com/) -
the JUCE developers are active there and will read every post and respond accordingly. When
submitting a bug report, please ensure that it follows the
[issue template](/.github/ISSUE_TEMPLATE.txt).
We don't accept third party GitHub pull requests directly due to copyright restrictions
but if you would like to contribute any changes please contact us.
Please see our [contribution guidelines](.github/contributing.md).

## License



Loading…
Cancel
Save