Skip to content

Latest commit

 

History

History
51 lines (44 loc) · 3.66 KB

CONTRIBUTING.md

File metadata and controls

51 lines (44 loc) · 3.66 KB

How to contribute

Important

These steps are more particular to this repo but mainly apply to all repositories; change the specifics.

Unless you explicitly state otherwise, any Contribution intentionally submitted for inclusion in this project by you, as defined in the Apache License shall be dual-licensed as above, without any additional terms or conditions.

  1. Join the project's slack (this is for the rencfs project, please use the one for your project) and join the #dev-beginners channel (or any relevant ones)
  2. Ask the owner of the repository to add your GitHub username to the repository so that you can work on issues and be able to create your own branches and not need to fork the repo

Devs & QA automation (which steps apply)

  1. Become familiar with docs and code by reading the ramp-up guide
  2. Pick an open issue or a task in the corresponding project for the repo you'll work on. You can see good for first issues that you can pick from
  3. Assign the issues you are working on to you and move them to the corresponding status column as you progress . If the task is not an issue yet, convert it to an issue first
  4. Make the changes in your branch
  5. Add docs as they apply
  6. Add tests, benchmarks, and examples for your changes, if applicable
  7. cargo fmt --all to format the code. You can configure your IDE to do this on save, RustRover and VSCode
  8. cargo clippy --all --release and fix any errors
  9. DON'T INCREASE THE VERSION NUMBER IN Cargo.toml, WE WILL DO THAT WHEN RELEASING
  10. Create a git push hook file in .git/hooks/pre-push with pre-push content on Linux and macOS, and pre-push on Windows. Make it executable in Linux and macOS with chmod +x .git/hooks/pre-push .This will run when you do git push and will make the push quite slow, but please give it time to complete as this helps to fix any issues locally and not rely just on running ci on GitHub when you create the PR
  11. Commit the changes with the commit message following the Commit Message Guidelines
  12. Push your changes, and if there are any errors, fix them before you push them
  13. Create a PR back to the parent repo targeting the main branch with the title as the GitHub issue title, including #ID. Also, include #ID to the GitHub issue in the description, saying like Fix for #42 for bugs or Implementation for #42 for features and others
  14. Request review from owners of the repository by adding them to the Reviewers field
  15. After you create the PR, link it to the GH issue from the mid-right of the page, press the gear icon from the below image, select xoriors/rencfs, then write the issue number and select it. This will link the two, and when the PR is merged, it will close the issue too
    image
  16. In the project, move the item to In Code Review
  17. Monitor the checks (GitHub actions runs) and fix the code if they are failing
  18. Respond to any comments
  19. DON'T MERGE THE PR YOURSELF. LEAVE THAT TO REPOSITORY OWNERS
  20. In the end, ideally, it will be merged into main

Testing

Please follow these steps.