From 1781edc29a814a4abcdff9f083e574b3d324fcbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20=C5=BBuraw?= <9116238+krzysztofzuraw@users.noreply.github.com> Date: Mon, 22 May 2023 11:17:11 +0200 Subject: [PATCH] Add contributing guide and codeowners (#3670) Co-authored-by: andrzejewsky --- .github/CODEOWNERS | 2 + .github/CODE_OF_CONDUCT.md | 22 +++++------ .github/CONTRIBUTING.md | 64 ++++++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 13 +++---- 4 files changed, 82 insertions(+), 19 deletions(-) create mode 100644 .github/CONTRIBUTING.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ddb526b7a..df83531ad 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1,3 @@ +* @saleor/dashboard .github/workflows/* @saleor/sre +cypress/* @saleor/qa diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index 7a63f2ef9..238ea58d5 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -8,19 +8,19 @@ In the interest of fostering an open and welcoming environment, we as contributo Examples of behavior that contributes to creating a positive environment include: -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting +- The use of sexualized language or imagery and unwelcome sexual attention or advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities @@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe ## Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hello+community@mirumee.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hello+community@saleor.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 000000000..88792d2f0 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,64 @@ +# Welcome to dashboard contribution guide + +Thank you for investing your time in contributing to our project! + +Read our [Code of Conduct](./CODE_OF_CONDUCT.md) to keep our community approachable and respectable. + +In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. + +## New contributor guide + +To get an overview of the project, read the [README](../README.md). Here are some resources to help you get started with open source contributions: + +- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github) +- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git) +- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests) + +## Getting started + +### Issues + +#### Create a new issue + +If you spot a problem with the docs, search if an issue already exists. If a related issue doesn't exist, you can open a new issue using a relevant issue form. + +#### Solve an issue + +Scan through our existing issues to find one that interests you. You can narrow down the search using labels as filters. If you find an issue to work on, you are welcome to open a PR with a fix. + +### Make changes locally + +1. Fork the repository. +2. Install `Node.js` at the version specified in `.nvmrc` file. +3. Create a working branch and start with your changes! + +### Commit your update + +Commit the changes once you are happy with them. + +### Pull Request + +When you're finished with the changes, create a pull request, also known as a PR. + +- Fill the template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request. +- Don't forget to [link PR](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) to issue if you are solving one. +- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge. Once you submit your PR, a MacawUI team member will review your proposal. We may ask questions or request additional information. +- We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. +- As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#resolving-conversations). +- If you run into any merge issues, checkout this [git tutorial](https://github.com/skills/resolve-merge-conflicts) to help you resolve merge conflicts and other issues. +- **Respect TypeScript** and further strict mode. We are on the way to migration into strict TypeScript, treat your code as if it was already strict. +- If it’s possible, **leave the code a better place** - you can do simple refactoring such as moving some repeatable code to separated functions, breaking down bigger components into smaller units, and so on +- **We expect you to write unit tests** for the new code you create. Please use _Arrange-Act-Assert_ comments to divide test blocks +- Try to respect **SOLID** rules. + +### Continuous Integration + +We run a series of automated checks on your PR to ensure that it meets our standards. If you are not sure why your PR is failing, please reach out to us. Common problems include: + +- Translations messages check is failing - run `npm run extract-messages` to update them +- UI tests are pending - reach out to maintainers to approve them +- MacawUI migration check is failing - we are on the way to migrate to new MacawUI components, use imports from `@saleor/macaw-ui/next` instead of `@saleor/macaw-ui` in your changes + +### Your PR is merged! + +Congratulations πŸŽ‰πŸŽ‰ Thank you for contribution to dashboard ✨. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 464d33658..61f83402b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,8 +1,4 @@ -I want to merge this change because... - - - -**PR intended to be tested with API branch:** +closes #... ### Screenshots @@ -15,9 +11,10 @@ greatly reduce the amount of work needed to review your work. --> 1. [ ] This code contains UI changes 2. [ ] All visible strings are translated with proper context including data-formatting -3. [ ] Attributes `[data-test-id]` are added for new elements -4. [ ] Changes are mentioned in the changelog -5. [ ] The changes are tested in different browsers and in light/dark mode +3. [ ] Attributes `data-test-id` are added for new elements +4. [ ] The changes are tested in Chrome/Firefox/Safari browsers and in light/dark mode +5. [ ] Your code works with the latest stable version of the core + ### Test environment config