From 2b2bdf7460ab585ceb3174fd2c49d7e1741cbcb6 Mon Sep 17 00:00:00 2001 From: Awiteb Date: Sat, 20 Jul 2024 22:32:20 +0300 Subject: [PATCH] chore: Add Code of Conduct Signed-off-by: Awiteb --- CODE_OF_CONDUCT.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 50 ++++++++++++++++++++++++++++- 2 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..7e9de8d --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,78 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +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 + +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 + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when +an individual is representing the project or its community in public spaces. +Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at . All complaints will be +reviewed and investigated and will result in a response that is deemed necessary +and 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. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq + + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ae99b2b..791ff1d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,15 @@ # Contributing to oxidetalis Thank you for your interest in contributing to oxidetalis! We welcome -contributions from the community to help improve the project. +contributions from the community to help improve OxideTalis and make it even +better. + +## Code of Conduct + +We have a [Code of Conduct](./CODE_OF_CONDUCT.md) that we expect all +contributors to follow. Please read the Code of Conduct before making a +contribution to OxideTalis. If you encounter any behavior that violates the Code +of Conduct, please report it to the maintainers at . ## Reporting Issues @@ -23,6 +31,7 @@ public, we will add you to the list. If you don't want to be added, please let us know. ## Developer Certificate of Origin (DCO) + Please note that all contributions to oxidetalis must be made under the terms of the Developer Certificate of Origin (DCO). This is a legal statement that certifies that you have the right to contribute the code and that you agree to @@ -43,7 +52,27 @@ git commit -s -m "feat: Add new feature" > in the commit message. We may ask you to re-submit your contribution with the > `Signed-off-by` line if it is missing. +## Claiming an issue + +If the issue is not assigned to anyone, you can claim it by commenting on the +issue that you want to work on it. One of the maintainers will then assign the +issue to you. + +If the issue is already assigned to someone and they have not made any progress +within two weeks, you can comment that you would like to take over. The +maintainers will reassign the issue to you if the original assignee agrees or +does not respond. + +Issue assignment operates on a first-come, first-served basis. If you are +assigned an issue, please ensure you work on it promptly. If you are unable to +continue for any reason, notify us so we can reassign it to another contributor. + +This process helps ensure that issues are addressed promptly and that +contributors avoid duplicating work or experiencing long wait times for +responses. + ## Writing Code + Before you start writing code, please open a new [issue][issue-tracker] first to discuss the proposed changes. This will help ensure that your contribution is aligned with the project's goals and that you are not duplicating work that is @@ -54,6 +83,7 @@ our [Forgejo](https://git.4rs.nl/OxideTalis/oxidetalis/pulls) instance and follow the guidelines below. ### Rust Version + In the oxidetalis project, we always try to stay on the lowest MSRV possible for compatibility, but the development process relies on the nightly release to get the latest rust-analyzer and rustfmt features. @@ -62,6 +92,7 @@ You can check the nightly version used in the project in the `rust-toolchain` file. And the MSRV in the `Cargo.toml` file. ### PR title + Your PR will squash and merge, and your PR title will be used as the commit message. Please make sure your PR title is clear and concise. @@ -91,12 +122,14 @@ should be in the following format: as documentation generation #### Example + ``` - feat: something - chore(ci): update MSRV ``` ### PR description + Your PR description should provide a clear and concise summary of the changes you have made. It should also include any relevant context or background information that will help the project maintainers understand the purpose of the @@ -115,6 +148,7 @@ project. This includes: - Adding comments to explain complex logic or algorithms. ### CI + Run the CI before submitting your code. You can run the CI with the following command: @@ -132,12 +166,24 @@ ensures that the code meets the project's standards and maintains its quality. Please be open to feedback and suggestions from the project maintainers during the code review process. +### Review Process + +When you submit your pull request (PR), you can request a review from the maintainers. The PR will be marked as `Waiting On Review` until a maintainer reviews it. There are two possible outcomes: + +#### If the PR is approved +The PR will be marked as `Approved`, and the maintainer will merge it. + +#### If the PR is not approved (requested changes) +The PR will be marked as `Waiting On Author`. You will need to make the requested changes or discuss them with the maintainer. After making the necessary updates, you can request a review again. + ## Maintainers + As a maintainer, after approving a PR, you need to pull the PR locally and then merge it manually. Why? Because Forgejo add some trailers to the commit message, so you need to merge it manually. ### Pull the PR + ```bash # Replace {{pr-number}} with the PR number git fetch origin +refs/pull/{{pr-number}}/head:refs/heads/pr-{{pr-number}} @@ -172,11 +218,13 @@ Reported-by: Name ``` ### Push the changes + ```bash git push origin master ``` ### Mark the PR as merged manually + Copy the full commit hash and mark the PR as merged manually on Forgejo. That's it! You have merged the PR manually. Thank you for your contribution!