Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: contribution guideline #390

Merged
merged 3 commits into from
Sep 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 117 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
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:

- Has this bug already been reported?
- Is this clearly a Pact Python bug?
- Do I have basic ideas about where it goes wrong?
- Could it be because of something on my end?

**The GitHub issue tracker is not a support forum**. If you are not sure whether it could be on your end or within Pact Python, ask on [Slack](https://slack.pact.io).

YOU54F marked this conversation as resolved.
Show resolved Hide resolved
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
YOU54F marked this conversation as resolved.
Show resolved Hide resolved

- 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.
YOU54F marked this conversation as resolved.
Show resolved Hide resolved

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.
YOU54F marked this conversation as resolved.
Show resolved Hide resolved

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.
YOU54F marked this conversation as resolved.
Show resolved Hide resolved
value: |
- Public source code:
- Is this a consumer or provider issue? Do you have information about the other side?
- Pact Python version used: `pip list | grep pact`
- Information about your Pact broker (version, hosted where, pactflow, ...)
- Operating system and version (e.g. Ubuntu 20.04.2 LTS, macOS Ventura):

- type: checkboxes
attributes:
label: Self-service
YOU54F marked this conversation as resolved.
Show resolved Hide resolved
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
YOU54F marked this conversation as resolved.
Show resolved Hide resolved
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.
YOU54F marked this conversation as resolved.
Show resolved Hide resolved

- 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.
37 changes: 37 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
YOU54F marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<!--
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!
YOU54F marked this conversation as resolved.
Show resolved Hide resolved
-->

## :airplane: 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.

## :memo: Summary

<!-- Help us understand the PR at a high level. What changes is it proposing? -->

## :rotating_light: Breaking Changes

<!-- Does this PR include any breaking changes? If not, feel free to delete this section. If so, please detail:

- What is the breaking change?
- Why is the breaking change necessary?
- What steps should a user take in order to migrate from the old behavior to the new one?
-->

## :fire: 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? -->

## :hammer: 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. -->

## :link: 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. -->
Loading