The Gardener on Metal project uses Github to manage reviews of pull requests.
-
If you are looking to make your first contribution, follow Steps to Contribute
-
If you have a trivial fix or improvement, go ahead and create a pull request and address (with @...) a suitable maintainer of this repository in the description of the pull request.
-
If you plan to do something more involved, first discuss your ideas by creating an issue for this repository. This will avoid unnecessary work and surely give you and us a good deal of inspiration.
Please follow these style guidelines to have your contribution considered by the maintainers: Coding style guidelines Go Code Review Comments, Formatting and style section of Peter Bourgon’s Go: Best Practices for Production Environments.
Do you want to work on an issue? You are welcome to claim an existing one by commenting on it in GitHub.
Perform a cursory search to see if the issue has already been taken by someone else. This will prevent misunderstanding and duplication of effort from contributors on the same issue.
If you have questions about one of the issues please comment on them and one of the maintainers will clarify it.
We kindly ask you to follow the Pull Request Checklist to ensure reviews can happen accordingly.
You are welcome to contribute code to the Gardener on Metal project in order to fix a bug or to implement a new feature.
The following rules govern code contributions:
- Contributions must be licensed under the Apache 2.0 License
- You need to sign the Developer Certificate of Origin.
You are welcome to contribute documentation to the Gardener on Metal project.
The following rules govern documentation contributions:
- Contributions must be licensed under the Creative Commons Attribution 4.0 International License
- You need to sign the Developer Certificate of Origin.
Due to legal reasons, contributors will be asked to accept a Developer Certificate of Origin (DCO) before they submit the first pull request to the Gardener on Metal project, this happens in an automated fashion during the submission process. We use the standard DCO text of the Linux Foundation.
- Fork and clone the repository to you local machine.
git clone [email protected]:ironcore-dev/dpservice.git
cd dpservice
- Create a branch from the
main
using 'git checkout' command.
If needed, rebase to the current
main
branch before submitting your pull request. If it doesn't merge properly withmain
you may be asked to rebase your changes.
```shell
git checkout -b my_feature
# rebase if necessary
git fetch upstream main
git rebase upstream/main
```
-
Commits should be as small as possible, while ensuring that each commit is correct independently (i.e. each commit should compile and pass tests).
-
Create your patch and test your changes before you commit them. Automated test by unit / integration tests are preferred. If tested manually, provide information about the test scope in the PR description. Now you can commit your changes to your feature branch and push it to your fork.
git add .
git commit -m "Something meaningful"
git push origin my_feature
Alternatively you can amend your commit before pushing if you forgot something by using
git commit --amend
-
Create Work In Progress [WIP] pull requests only if you need a clarification or an explicit review before you can continue your work item.
-
If your patch is not getting reviewed, or you need a specific person to review it, you can @-reply a reviewer asking for a review in the pull request or a comment.
-
Post review:
- If a reviewer requires you to change your commit(s), please test the changes again.
- Amend the affected commit(s) and force push onto your branch.
- Set respective comments in your GitHub review as resolved.
- Create a general PR comment to notify the reviewers that your amendments are ready for another round of review.
We use GitHub issues to track bugs and enhancement requests. Please provide as much context as possible when you open an issue. The information you provide must be comprehensive enough to understand, reproduce the behavior and find related reports of that issue for the assignee. Therefore, contributors may use but aren't restricted to the issue template provided by the Gardener on Metal maintainers.
Issues and pull requests are tracked in the backlog for this project.