globocom / huskyCI

Performing security tests inside your CI
https://huskyci.opensource.globo.com
BSD 3-Clause "New" or "Revised" License
572 stars 137 forks source link

Contribution Guidelines and Checklist for Pull Requests #572

Open fguisso opened 1 year ago

fguisso commented 1 year ago
  1. Problem Description:

    • Contributors need clear guidance on the steps to follow and tests to perform before making a pull request to ensure a smooth and effective contribution process.
  2. Steps to Reproduce:

    • N/A
  3. Expected Behavior:

    • Provide contributors with a comprehensive checklist outlining the necessary steps to take before submitting a pull request.
  4. Current Behavior:

    • Contributors might be uncertain about the specific requirements and steps to follow when making a contribution.
  5. Proposed Changes:

    • Create a contribution checklist that includes steps for code changes, testing procedures, and considerations for local and Docker/Kubernetes environments.
    • Include details on setting up a local development environment, running tests, and ensuring compatibility with both Docker API and Kubernetes.
  6. Dependencies:

    • Clear documentation on the project's structure, development environment setup, and testing procedures.
  7. Testing:

    • Test the contribution checklist with a new contributor to ensure its clarity and effectiveness.
    • Validate that contributors can successfully follow the steps and guidelines.
  8. Documentation Updates:

    • Add the contribution checklist to the project's documentation.
    • Provide explanations and context for each item on the checklist.
    • Specify how contributors can run tests locally and what behavior to expect.
  9. Expected Impact:

    • The contribution checklist will streamline the pull request process, reducing ambiguity for contributors and improving the overall quality of contributions.
  10. Additional Information:

    • Include details on how to address common issues or challenges that contributors might face.
    • Encourage contributors to seek assistance through designated communication channels (e.g., discussion forums, chat) if they encounter difficulties.

Example Checklist for Contributors:

  1. Local Development:

    • [ ] Set up a local development environment by following the documentation.
    • [ ] Ensure that the code changes are compatible with both Docker API and Kubernetes.
  2. Code Changes:

    • [ ] Follow the project's coding conventions and style guidelines.
    • [ ] Test the changes thoroughly to address the intended functionality.
  3. Tests:

    • [ ] Run existing unit tests and ensure they pass.
    • [ ] Create new tests for the added functionality or bug fix.
    • [ ] Test the changes in both local and Docker/Kubernetes environments.
  4. Documentation:

    • [ ] Update or create documentation for any new features or changes.
    • [ ] Ensure that the README and other relevant documentation is accurate and up-to-date.
  5. Pull Request:

    • [ ] Create a clear and descriptive pull request.
    • [ ] Provide context on the changes made and the problem addressed.
    • [ ] Mention any dependencies or related issues.

Note: Regularly review and update the checklist based on changes in the project's development and testing processes.

CaiqueCoelho commented 1 year ago

I would like to work on this. Can you assign it to me?

fguisso commented 1 year ago

Let's start it, we don't use the assign to track things, just inform here and create your PR

CaiqueCoelho commented 1 year ago

Hey @fguisso thank you for letting me work on this, I opened a PR, could you take a look to see if this is what you are looking for, please? https://github.com/globocom/huskyCI/pull/577