Skip to content

Latest commit

 

History

History
83 lines (56 loc) · 3.44 KB

CONTRIBUTING.md

File metadata and controls

83 lines (56 loc) · 3.44 KB

Contributors guide

Want to contribute? We try to make it easy, and all contributions, even the smaller ones, are more than welcome. This includes bug reports, fixes, documentation, examples... But first, read this page (including the small print at the end).

Contributions are available on https://github.com/Orange-OpenSource/PowerDNS-Operator

Legal

All original contributions to PowerDNS-Operator are licensed under the Apache License 2.0,

All contributions are subject to the Developer Certificate of Origin (DCO). The DCO is a lightweight way for contributors to certify that they wrote or otherwise have the right to submit the code they are contributing to the project. The DCO text is also included verbatim in the DCO.txt file in the root directory of the repository.

Contributors must sign-off that they adhere to these requirements by adding a Signed-off-by line to commit messages, as shown below:

This is the commit message

Signed-off-by: Joe Dev <joe.dev@developer.example.org>

Git has a handy -s command line option to append this automatically to your commit message:

$ git commit -s -m 'This is the commit message'

Reporting an issue

This project uses Github issues to manage the issues.

Before creating an issue:

  1. upgrade the operator to the latest supported release version, and check whether your bug is still present,
  2. ensure the operator version is supported by the PowerDNS version you are using,
  3. have a look in the opened issues if your problem is already known/tracked, and possibly contribute to the thread with your own information.

If none of the above was met, open an issue directly in Github, select the appropriate issue template and fill-in each section when applicable.

Development environment setup

cf. Development environment setup

Submitting a code change

Git Setup

Before contributing, make sure you have set up your Git authorship correctly:

git config --global user.name "Your Full Name"
git config --global user.email your.email@example.com

Workflow

All submissions, including submissions by project members, need to be reviewed before being merged.

To contribute:

  1. Create an issue describing the bug or enhancement you want to propose (select the right issue template).
  2. Make sure the issue has been reviewed and agreed.
  3. Create a pull Request, from your own fork (see forking workflow documentation). Don't hesitate to mark yourPMR as Draft as long as you think it's not ready to be reviewed.

Git Commit Conventions

In addition to being signed-off according the Developer Certificate of Origin (see above), Git commits in PowerDNS-Operator shall be:

  1. atomic (1 commit = 1 and only 1 thing),
  2. semantic (using semantic-release commit message syntax).
  3. pattern
    • SCOPE: one of (build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test, release)
    • PACKAGE (optional): one of (zone, rrset, docs)
    • Pattern: SCOPE(PACKAGE): commit message, #issue_identifier
    • feat(zone): optimize zone reconcile, #51