From e0ae18a2de735d3145fdd9206da227f17164fe4d Mon Sep 17 00:00:00 2001 From: JP-Ellis Date: Wed, 20 Sep 2023 18:04:43 +1000 Subject: [PATCH] docs: add issue and pr templates 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 --- .github/ISSUE_TEMPLATE/bug.yml | 114 +++++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 14 ++++ .github/ISSUE_TEMPLATE/feature.yml | 54 ++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 24 ++++++ 4 files changed, 206 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 000000000..e56f7cdec --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -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. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..7c09cc37b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -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. diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml new file mode 100644 index 000000000..a27030432 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -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. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..cbc0068bf --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,24 @@ + + +## 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 + + + +## Test Plan + + + +## Related issues/PRs + +