prometheus/CONTRIBUTING.md

2.2 KiB

Contributing

Prometheus uses Gerrit to manage reviews of pull-requests, and then Gerrit replicates its master branch to GitHub. In order to contribute to Prometheus, you must use Gerrit.

Setup

  1. Sign in at http://review.prometheus.io/

  2. Set a username and upload an SSH pubkey for git ssh access.

    On OSX you can use cat ~/.ssh/id_rsa.pub | pbcopy to copy your public key to your clipboard so you can paste it.

  3. Clone the repo: git clone http://review.prometheus.io/prometheus

  4. Add your user-specific remote that you will push your changes to: git remote add <your-remote-name> ssh://<username>@review.prometheus.io:29418/prometheus

  5. Add Change-Id commit hook: curl -o .git/hooks/commit-msg http://review.prometheus.io/tools/hooks/commit-msg

  6. Make the file executable: chmod u+x .git/hooks/commit-msg

  7. Commit any local changes to git, then:

  8. git push <your-remote-name> HEAD:refs/for/master

  9. Assign reviewer for change at http://review.prometheus.io/

Getting Started

  1. Reach out via our mailing list and ask us what the current priorities are. We can find a good isolated starter project for you.

  2. Keeping code hygiene is important. We thusly have a practical preference for the following:

    1. Run make format to ensure the correctness of the Go code's layout.

    2. Run make advice to find facial errors with a static analyzer. In addition, consider running golint.

    3. Try to capture your changes in some form of a test. Go makes it easy to write Table Driven Tests. There is no mandate to use this said scaffolding mechanism, but it can make your life easier in the right circumstances.

    4. Relevant style guidelines are the Go Code Review Comments and the Formatting and style section of Peter Bourgon's Go: Best Practices for Production Environments.

  3. Welcome aboard!