Skip to content

Commit

Permalink
docs: add issue and pr templates
Browse files Browse the repository at this point in the history
Along with the overhaul of the `CONTRIBUTING.md` file, this commit
adds issue and PR templates to the repository. These templates have been
heavily inspired by the
[Docusaurus](https://github.com/facebook/docusaurus) project.

Signed-off-by: JP-Ellis <josh@jpellis.me>
  • Loading branch information
JP-Ellis committed Sep 20, 2023
1 parent f109816 commit e0ae18a
Show file tree
Hide file tree
Showing 4 changed files with 206 additions and 0 deletions.
114 changes: 114 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: 🐛 Bug Report
description: Submit a bug report to help us improve
labels: [bug, triage]
body:
- type: markdown
attributes:
value: |
## Please help us help you!
Before filing your issue, ask yourself:
- Is this clearly a Pact Python bug?
- Do I have basic ideas about where it goes wrong?
- Could it be because of my own mistakes?
**The GitHub issue tracker is not a support forum**. If you are not sure whether it could be your mistakes, ask on [Slack](https://slack.pact.io).
Make the bug obvious. Ideally, we should be able to understand it without running any code.
Bugs are fixed faster if you include:
- A reproduction repository to replicate the issue
- Pact files
- Logs
- type: checkboxes
attributes:
label: Have you read the Contributing Guidelines on issues?
options:
- label: I have read the [Contributing Guidelines on issues](https://github.com/pact-foundation/pact-python/main/CONTRIBUTING.md#issues).
required: true

- type: checkboxes
attributes:
label: Prerequisites
description: Please check the following items before creating a issue. This way we know you've done these steps first.
options:
- label: I'm using the latest version of `pact-python`.
required: true
- label: I have read the console error message carefully (if applicable).

- type: textarea
attributes:
label: Description
description: A clear and concise description of what the bug is.
validations:
required: true

- type: input
attributes:
label: Reproducible demo
description: |
Paste the link to an example repo if possible, and exact instructions to reproduce the issue.
> **What happens if you skip this step?** Someone will read your bug report, and maybe will be able to help you, but it's unlikely that it will get much attention from the team. Eventually, the issue will likely get closed in favor of issues that have reproducible demos.
Please remember that:
- Issues without reproducible demos have a very low priority.
- The person fixing the bug would have to do that anyway. Please be respectful of their time.
- You might figure out the issues yourself as you work on extracting it.
Thanks for helping us help you!
- type: textarea
attributes:
label: Steps to reproduce
description: Write down the steps to reproduce the bug. You should start with a fresh installation, or your git repository linked above.
placeholder: |
1. Step 1...
2. Step 2...
3. Step 3...
validations:
required: true

- type: textarea
attributes:
label: Expected behavior
description: How did you expect your project to behave? It's fine if you're not sure your understanding is correct. Write down what you thought would happen.
placeholder: Write what you thought would happen.
validations:
required: true

- type: textarea
attributes:
label: Actual behavior
description: |
Did something go wrong? Is something broken, or not behaving as you expected? Describe this section in detail. Don't only say "it doesn't work"! Please submit exhaustive and complete log messages, not just the final error message.
> Please read error messages carefully: it often tells you exactly what you are doing wrong.
If the logs are too long, you can paste them in a [gist](https://gist.github.com/) and link it here.
placeholder: |
Write what happened. Add full console log messages.
validations:
required: true

- type: textarea
attributes:
label: Your environment
description: Include as many relevant details about the environment you experienced the bug in.
value: |
- Public source code:
- Pact Python version used: `pip list | grep pact`
- Operating system and version (e.g. Ubuntu 20.04.2 LTS, macOS Ventura):
- type: checkboxes
attributes:
label: Self-service
description: |
If you feel like you could contribute to this issue, please check the box below. This would tell us and other people looking for contributions that someone's working on it.
If you do check this box, please send a pull request. If circumstances change and you can't work on it anymore, let us know and we can re-assign it.
options:
- label: I'd be willing to fix this bug myself.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: 🚀 Feature request
url: https://pact.canny.io
about: The Canny board to send us feature requests, vote and measure the interest of users. Useful to submit a feature request when you have an idea but no concrete API design proposal.
- name: ❓ Simple question - Slack chat
url: https://slack.pact.io
about: If you have a simple question, or want to discuss a feature request, join our Slack chat.
- name: ❓ Simple question - Stack Overflow
url: https://stackoverflow.com/questions/tagged/pact
about: The GitHub issue tracker is not for technical support. Please use Stack Overflow, and ask the community for help.
- name: ❓ Advanced question - GitHub Discussions
url: https://github.com/pact-foundation/pact-python/discussions
about: Use GitHub Discussions for advanced and unanswered questions only, requiring a maintainer's answer. Make sure the question wasn't already asked.
54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: 💅 Feature design / RFC
description: Submit a detailed feature request with a concrete proposal
labels: [feature, triage]
body:
- type: markdown
attributes:
value: |
Important things:
- We expect the feature request to be detailed.
- The request does not have to be perfect, we'll discuss it and fix it if needed.
- For a more "casual" feature request, consider using Canny instead: https://pact.canny.io.
- type: checkboxes
attributes:
label: Have you read the Contributing Guidelines on issues?
options:
- label: I have read the [Contributing Guidelines on issues](https://github.com/pact-foundation/pact-python/blob/main/CONTRIBUTING.md#issues).
required: true

- type: textarea
attributes:
label: Description
description: A clear and concise description of what the feature is.
validations:
required: true

- type: input
attributes:
label: Has this been requested on Canny?
description: Please post the [Canny](https://pact.canny.io) link, it is helpful to see how much interest there is for this feature.

- type: textarea
attributes:
label: Motivation
description: Please outline the motivation for the proposal and why it should be implemented. Has this been requested by a lot of users?
validations:
required: true

- type: textarea
attributes:
label: Have you tried building it?
description: |
Please explain how you tried to build the feature by yourself, and how successful it was. If you haven't tried, that's alright.
- type: checkboxes
attributes:
label: Self-service
description: |
If you answered the question above as "no" because you feel like you could contribute directly to our repo, please check the box below. This would tell us and other people looking for contributions that someone's working on it.
If you do check this box, please send a pull request. If circumstances change and you can't work on it anymore, let us know and we can re-assign it.
options:
- label: I'd be willing to contribute this feature to Docusaurus myself.
24 changes: 24 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<!--
Thank you for sending the PR! We appreciate you spending the time to work on these changes.
You can learn more about contributing to Pact-python here: https://github.com/pact-foundation/pact-python/blob/main/CONTRIBUTING.md
Happy contributing!
-->

## Pre-flight checklist

- [ ] I have read the [Contributing Guidelines on pull requests](https://github.com/pact-foundation/pact-python/blob/main/CONTRIBUTING.md#pull-requests).
- [ ] **If this is a code change**: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
- [ ] **If this is a new API or substantial change**: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

## Motivation

<!-- Help us understand your motivation by explaining why you decided to make this change. Does this fix a bug? Does it close an issue? -->

## Test Plan

<!-- Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. -->

## Related issues/PRs

<!-- If you haven't already, link to issues/PRs that are related to this change. This helps us develop the context and keep a rich repo history. If this PR is a continuation of a past PR's work, link to that PR. If the PR addresses part of the problem in a meta-issue, mention that issue. -->

0 comments on commit e0ae18a

Please sign in to comment.