Skip to content

Latest commit

 

History

History
118 lines (85 loc) · 5.61 KB

CONTRIBUTING.md

File metadata and controls

118 lines (85 loc) · 5.61 KB

Contributing to UKIS-h3cellstore and subprojects

Welcome to UKIS-h3cellstore. We invite anyone to participate by contributing code, reporting bugs, fixing bugs, writing documentation or discussing the future of this project. As a contributor, here are the guidelines we would like you to follow:

Code of Conduct

Help us keep UKIS-h3cellstore open and inclusive. Please read and follow our Code of Conduct.

Found a Bug?

If you find a bug in the source code, you can help us by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix.

Missing a Feature?

You can request a new feature by submitting an issue to our GitHub Repository. If you would like to implement a new feature, please submit an issue with a proposal for your work first, to be sure that we can use it.

Code Conventions

To ensure consistency throughout the source code, keep these rules in mind as you are working:

  • All features or bug fixes must be tested by one or more specs (unit-tests).
  • Python code:
    • Please follow PEP 8.
    • We use a line-length of 120 and black to format our code.
  • Rust code:
    • Format your code with rustfmt.
    • Check the clippy suggestions and apply them.

Submission Guidelines

Submitting an Issue

Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available.

We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs, we will systematically ask you to provide a minimal reproduction. Having a minimal reproducible scenario gives us a wealth of important information without going back & forth to you with additional questions.

A minimal reproduction allows us to quickly confirm a bug (or point out a coding problem) as well as confirm that we are fixing the right problem.

Submitting a Pull Request (PR)

Before you submit your Pull Request (PR) consider the following guidelines:

  1. Search GitHub for an open or closed PR that relates to your submission. You don't want to duplicate effort.

  2. Be sure that an issue describes the problem you're fixing, or documents the design for the feature you'd like to add. Discussing the design up front helps to ensure that we're ready to accept your work.

  3. Please sign our Contributor License Agreement (CLA) before sending PRs. We cannot accept code without this. Make sure you sign with the primary email address of the Git identity that has been granted access to the UKIS repository.

  4. Fork the UKIS repo.

  5. Make your changes in a new git branch:

    git checkout -b my-fix-branch master
  6. Create your patch, including appropriate test cases.

  7. Document your changes in the changelog.

    git commit -a -m "some useful message"

    Note: the optional commit -a command line option will automatically "add" and "rm" edited files.

  8. Push your branch to GitHub:

    git push origin my-fix-branch
  9. In GitHub, send a pull request to master.

  • If we suggest changes then:
    • Make the required updates.

    • Re-run the tests to ensure they are still passing.

    • Rebase your branch and force push to your GitHub repository (this will update your Pull Request):

      git rebase master -i
      git push -f

That's it! Thank you for your contribution!

Changelog guidelines

  • Document your changes at the very top of the file.
  • Categorize your changes as one of
    • Features (Added)
    • Bug Fixes (Fix)
    • Other changes (Changed)
  • For each change, add one item containing
    • The module/project changed (not required for 'other changes')
    • A short description of the change

Signing the CLA

Please sign our Contributor License Agreement (CLA) before sending pull requests. For any code changes to be accepted, the CLA must be signed. It's a quick process, we promise! We'll need you to print, sign and one of scan+email, fax or mail the form.


If you have more than one Git identity, you must make sure that you sign the CLA using the primary email address associated with the ID that has been granted access to the UKIS repository. Git identities can be associated with more than one email address, and only one is primary. Here are some links to help you sort out multiple Git identities and email addresses:

Note that if you have more than one Git identity, it is important to verify that you are logged in with the same ID with which you signed the CLA, before you commit changes. If not, your PR will fail the CLA check.