Skip to content

Latest commit

 

History

History
88 lines (61 loc) · 3.14 KB

CONTRIBUTING.md

File metadata and controls

88 lines (61 loc) · 3.14 KB

Contributing

This projects follows the Gitflow workflow. When contributing, please discuss the change you wish to make via Issues, email, or any other method with the maintainers of this repository before raising a Pull Request.

Commit messages

This project uses gitchangelog to automatically generate the content of CHANGELOG.md. So, it is important to follow a convention on how to format your git commit messages. In general, all commit messages should follow the structure below:

<subject>
<BLANK LINE>
<body>

<subject> should follow the standard gitchangelog convention below. See gitchangelog.rc example on GitHub for more information.

  • ACTION: [AUDIENCE:] SUBJ_MSG [!TAG ...]

  • ACTION indicates WHAT the change is about.

    • chg is for refactor, small improvement, cosmetic changes, etc
    • fix is for bug fixes
    • new is for new features, big improvement
  • AUDIENCE indicates WHO is concerned by the change.

    • dev is for developers (API changes, refactoring...)
    • user is for final users (UI changes)
    • pkg is for packagers (packaging changes)
    • test is for testers (test only related changes)
    • doc is for tech writers (doc only changes)
  • SUBJ_MSG is the subject itself.

  • TAGs are for commit filtering and are preceded with !. Commonly used tags are:

    • refactor is obviously for refactoring code only
    • minor is for a very meaningless change (a typo, adding a comment)
    • cosmetic is for cosmetic driven change (re-indentation, etc)
    • wip is for partial functionality.
  • EXAMPLES:

    • new: usr: support of bazaar implemented.
    • chg: re-indent some lines. !cosmetic
    • new: dev: update code to be compatible with killer lib ver1.2.3.
    • fix: pkg: update year of license coverage.
    • new: test: add tests around usability of feature Foo.
    • fix: typo in spelling. !minor

Pull Request Process

  1. Clone the repo to your workstation:

    git clone https://github.com/undp/tf-modules.git tf-modules
  2. Switch to the develop branch:

    git checkout develop
  3. Create a new feature branch named feature/fooBar from the develop branch:

    git checkout -b feature/fooBar
  4. Introduce your modifications locally. Don't forget about corresponding tests!

  5. Commit your changes. Ensure your commit message follows the formatting convention described above.

    git commit -am "new: usr: add fooBar feature. (close #123)"
  6. Push the feature/fooBar branch to the remote origin

    git push origin feature/fooBar
  7. Create a new Pull Request for the repo.

  8. You may merge the Pull Request in once you have the sign-off from a repo owner. Or, if you do not have permission to merge, you may request the reviewer to merge it for you.