github.com/esnet/gdg@v0.6.1-0.20240412190737-6b6eba9c14d8/CONTRIBUTING.md (about)

     1  # Contributing
     2  
     3  Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
     4  
     5  You can contribute in many ways:
     6  
     7  ## Types of Contributions
     8  
     9  ### Report Bugs
    10  
    11  Report bugs at https://github.com/esnet/gdg/issues.
    12  
    13  If you are reporting a bug, please include:
    14  
    15  * Your operating system name and version.
    16  * Any details about your local setup that might be helpful in troubleshooting.
    17  * Detailed steps to reproduce the bug.
    18  
    19  ### Code Submissions
    20  
    21  Any code submitted to enhance this project is great appreciated, but here's a check list to look at which will help ensure a successful code review.
    22  
    23  1. Make sure the code works, compiles and so on.  
    24  2. We have a docker-compose file that will bring up an instance of grafana.  A variety of integration tests exists under the `integration_tests` folder.  Ideally each new entity we introduce should have tests that go with it.  Please make sure you have a test for you code submission.
    25  3. Configuration Changes: Please update the conf/importer-example.yml if you are introducing any new configs 
    26  4. Document the code, not every line needs docs, but explaining what the function does is helpful for those that follow.
    27  5. The generated docs live under `documentation/content/en/docs/` Please update the md files to reflect your changes to let others know how to use the tool.  `usage_guide.md` is likely the only file you'll need to update.
    28      - documentation/content/en/docs/releases contains a list of changes, if you are adding a new feature, please add a short description of the upcoming new feature.
    29      - documentation/content/en/docs/usage_guide.md provides simple examples.  If you're adding a new entity please document its behavior.
    30  6. If you've introduced a major change that affects the configuration, please take the time to update the context new wizard to ensure it's captured.
    31  
    32  
    33  ### Submit Feedback
    34  
    35  The best way to send feedback is to file an issue at https://github.com/esnet/gdg/issues.
    36  
    37  If you are proposing a feature:
    38  
    39  * Explain in detail how it would work.
    40  * Keep the scope as narrow as possible, to make it easier to implement.
    41  * Remember that this is a volunteer-driven project, and that contributions
    42    are welcome :)
    43  
    44  ## Get Started!
    45  
    46  Ready to contribute? Here's how to set up `gdg` for local development.
    47  
    48  1. Fork the `gdg` repo on GitHub.
    49  2. Clone your fork locally::
    50  ```bash
    51      $ git clone git@github.com:your_name_here/gdg.git
    52  ```
    53  3. Create a branch for local development::
    54  ```bash
    55      $ git checkout -b name-of-your-bugfix-or-feature
    56  ```
    57     Now you can make your changes locally.
    58  
    59  4. When you're done making changes, check that your changes pass the tests::
    60  ```bash
    61      $ make test
    62  ```
    63  6. Commit your changes and push your branch to GitHub::
    64  ```bash
    65      $ git add .
    66      $ git commit -m "Your detailed description of your changes."
    67      $ git push origin name-of-your-bugfix-or-feature
    68  ```
    69  7. Submit a pull request through the GitHub website.
    70  
    71  Pull Request Guidelines
    72  -----------------------
    73  
    74  Before you submit a pull request, check that it meets these guidelines:
    75  
    76  1. The pull request should include tests.
    77  2. If the pull request adds functionality, the docs should be updated. Put
    78     your new functionality into a function with a docstring, and add the
    79     feature to the list in README.md.