From ce0cad36afafc7e729adfa145385041c39d8d2a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=87a=C4=9Fla=20=C4=B0slamo=C4=9Flu?= <124668094+cagla88@users.noreply.github.com> Date: Fri, 25 Oct 2024 21:55:34 +0300 Subject: [PATCH] AYS-521 | Documents Editing (#47) --- CODEOWNERS | 2 +- CONTRIBUTING.md | 182 +++++++++++++++++++++++++++++++++++++++ PULL_REQUEST_TEMPLATE.md | 48 ++++++++--- 3 files changed, 221 insertions(+), 11 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CODEOWNERS b/CODEOWNERS index dc9f390..69e57d7 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,3 +1,3 @@ # These owner(s) will be the default owners for everything in the repo. -* @agitrubard @yvzcnr @Nbhtozcn @cagla88 @TekinMerve +* @agitrubard @Nbhtozcn @cagla88 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8ea336b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,182 @@ +# Contributing Guidelines + +Thank you for considering contributing to the "afet-yonetim-sistemi" project! We appreciate your interest and +welcome any contributions that can help us improve the project. + +Please take a moment to review these guidelines before making any contributions. Following these guidelines will +help you maintain a collaborative and inclusive environment for everyone involved. + +## Table of Contents + +- [How to Contribute](#how-to-contribute) +- [Reporting Issues](#reporting-issues) +- [Submitting Changes](#submitting-changes) +- [Code Style](#code-style) +- [Commit Messages](#commit-messages) +- [Documentation](#documentation) +- [Community Guidelines](#community-guidelines) + +## How to Contribute + +Thank you for considering contributing to our UI automation project! To make the process smooth, +please follow these steps: + +1. **Join Our Discord Server:** + - Join our [Discord server](https://discord.com/invite/NkAkYajkKa) to engage with the community and + project maintainers. + - Navigate to the 'Environment Information' section and find the GitHub thread. Leave a message in the thread to + express your interest in contributing. + +2. **Review Jira Issues:** + - Access our [Jira Issues](https://afetyonetimsistemi.atlassian.net/jira/software/c/projects/AYS/issues/AYS-408?filter=allissues&jql=project%20%3D%20%22AYS%22%20AND%20status%20%3D%20Ready%20AND%20assignee%20%3D%20empty%20ORDER%20BY%20created%20DESC) to view the issues and development tasks. + - Identify relevant issues or features you would like to work on. + +3. **Cloning the Project:** + - Once added to the GitHub organization, clone the repository from the organization’s GitHub page. + - Clone the repository using the command: `git clone https://github.com/afet-yonetim-sistemi/ays-fe-ui-automation` + +4. **Create a New Branch:** + - Create a branch for your contribution based on the `main` branch. + - Refer to the [Naming Conventions of Branches](#branch-naming-conventions) for guidance on branch naming. + - Ensure your feature branch is associated with the relevant Jira issue and GitHub issue if applicable. + +5. **Make Changes:** + - Implement your changes in the branch you created. + +6. **Commit Changes:** + - Commit your changes with clear and concise messages. Refer to the [Commit Messages](#commit-messages) section for + guidance. + +7. **Push Changes:** + - Push your changes to the `main` branch of your cloned repository. + +8. **Open a Pull Request (PR):** + - Open a PR against the `main` branch of the original repository. + - Provide a detailed description of your changes in the PR. + - Link relevant Jira issues and GitHub issues in the PR description. + - Follow the pull request naming conventions outlined below. + - PR title should contain the Jira issue number and a brief description of the change. + +9. **Review and Feedback:** + - Once your PR is submitted, project maintainers will review it and provide feedback. + - Be responsive to feedback and make necessary changes. + +## Development Standards + +Our project adheres to the [GitHub Flow](https://docs.github.com/en/get-started/quickstart/github-flow) for +collaboration. +Issues are managed on GitHub Discussions, with plans to transition them to Jira. + +### Branch Naming Conventions: + +- `test/{jira-issue-number}/{optional-description}` +- `feature/{jira-issue-number}/{optional-description}` +- `refactor/{jira-issue-number}/{optional-description}` + +> Example : `feature/AYS-1/add-login-test` + +### Pull Request Naming Conventions: + +- `{jira-issue-number} | {header-for-summary-of-development}` + +> Example : `AYS-1 | Add login functionality tests` + +Here are some additional standards to keep in mind: + +- Link your feature branch to the corresponding GitHub issue. +- The `main` branch is protected. +- PR should be linked to the relevant issue within the GitHub Project. +- Only one code owner's approval is needed for merging feature branches. +- PR should be squash-merged to avoid merge commit history. +- PR should pass build and necessary tests before merging. +- Releases should be tagged with a version. +- Commit messages should be subjectless. +- Resolve comments within the PR by the commenter. +- PR should be concise and address one thing. +- Avoid including secret/credential information. +- Code should comply with existing coding standards; no new standards should be introduced without justification. + +## Reporting Issues + +If you encounter any bugs, have feature requests, or want to provide general feedback, please feel free to open a +discussion in the "afet-yonetim-sistemi" repository. When creating a discussion, +please provide as much detail as possible, including: + +- A clear and descriptive title +- Steps to reproduce the issue +- Expected behavior +- Actual behavior +- Any error messages or logs + +## Submitting Changes + +When submitting changes, please ensure the following: + +- Your code adheres to the project's [code style guidelines](#code-style). +- The documentation has been updated, if necessary (see [Documentation](#documentation)). +- Your commits are clean and have clear commit messages (see [Commit Messages](#commit-messages)). + +## Code Style + +To maintain a consistent codebase, please follow the existing code style used in the project. If necessary, +refer to any code style guidelines mentioned in the repository. + +## Commit Messages + +Writing clear and descriptive commit messages is essential for the maintainability of the project. Follow these +guidelines when writing commit messages: + +- **Be Clear and Concise:** + - Ensure the subject line clearly summarizes the change. While it’s useful to start with a verb + (e.g., "Fix," "Add," "Update"), the main goal is to make sure the message is clear and easily understandable. + +- **Provide Additional Details:** + - Include additional details in the commit message body if necessary. + - Explain the reason for the change and provide context to help reviewers understand the impact and + purpose of the change. + +- **Squash and Merge:** + - We use the Squash and Merge strategy for integrating pull requests. This method combines all commits in + a pull request into a single commit before merging. + - As a result, the pull request title becomes the final commit message. Ensure the title is descriptive and + accurately reflects the overall change. + - Example pull request title: `Enhance UI Tests For Login Functionality` + +- **Example Commit Message:** + ``` + Add new feature for user login automation test + + - AYS-0 : Add new scenarios for login tests + - Implement Cucumber scenarios for login feature + - AYS-0 | Add validation for error messages + ``` + +By following these guidelines, you contribute to a clear and understandable project history, facilitating easier code +reviews and collaboration. + +## Documentation + +Clear and up-to-date documentation is crucial for the project's users and contributors. If your contribution introduces +new features, modifies existing functionality, or requires changes to the documentation, please make the necessary updates. + +Follow these guidelines for documenting your changes: + +- Update the relevant documentation files to reflect your changes. +- Write clear and concise explanations. +- Use code examples or screenshots, if appropriate, to enhance understanding. +- Proofread your documentation to ensure it is accurate and free of errors. + +## Community Guidelines + +In addition to the technical aspects, it is important to follow the community guidelines to maintain a positive and +inclusive environment for all contributors. + +- Be respectful and considerate of others' opinions and ideas. +- Be open to feedback and willing to collaborate with other contributors. +- Avoid personal attacks, offensive language, and harassment. +- If you notice any inappropriate behavior, report it to the project maintainers. + +By adhering to these guidelines, we can work together to build a welcoming and productive community. + +Thank you for your interest in contributing to the "afet-yonetim-sistemi" project! We appreciate your support and +look forward to your contributions. diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 224bf59..ffa6947 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -3,20 +3,48 @@ **Description:** Provide a brief description of the changes in this pull request. -**Related Issue:** -Closes #[Issue Number] - **Changes Made:** List the changes you made in this pull request. **Additional Information:** Add any additional information that might be relevant to reviewers. -## Checklist -- [ ] I have read and followed the [contribution guidelines](README.md#contributing) for this project. -- [ ] I have added tests (if applicable). -- [ ] All tests are passing. -- [ ] I have updated the documentation (if necessary). - -## Reviewer Instructions +**Reviewer Instructions:** Provide instructions or guidelines for reviewers to follow when assessing your pull request. + +### Checklist + +Before submitting your pull request, ensure the following: + +- [ ] **Title and Branch Naming Conventions:** + - The pull request title follows the + standard: [Pull Request Naming Conventions](https://github.com/afet-yonetim-sistemi/ays-fe-ui-automation/blob/main/CONTRIBUTING.md#pull-request-naming-conventions) + . + - The branch name follows one of the conventions outlined in + the [Branch Naming Conventions](https://github.com/afet-yonetim-sistemi/ays-fe-ui-automation/blob/main/CONTRIBUTING.md#branch-naming-conventions) + . + +- [ ] **Local Testing:** + - I have added positive and negative test scenarios (if applicable) + - All tests are passing. + - I tagged all test as smoke or regression + - I added newly added tests to related xml file in test suite + +- [ ] **Code Quality:** + - The code is formatted according to the project's coding guidelines and style. + - The code has been reviewed to ensure its quality. + - The code does not contain any issues flagged by SonarLint. + +- [ ] **Documentation:** + - Necessary documentation has been added or existing documentation has been updated. + +- [ ] **Reviewers and Assignees:** + - Default reviewers have been assigned to this pull request. + - Assignees have been added if necessary. + +- [ ] **Labels and Associations:** + - No specific actions are required in the Labels and Associations section for this pull request. + +- [ ] **Reviewer Instructions:** + - Provide instructions or guidelines for reviewers to follow when assessing your pull request. +