Contributing - WeTeam/WeBlog GitHub Wiki

WeBlog is a community module, built by the community.

If you'd like to get involved and contribute to the module, this page contains useful information for you.

Branching

We use gitflow as a branching model. No particular tools or extensions are prescribed, but the model must be followed.

As such, the master branch contains the latest release and all development should take place on the develop branch. Make sure to use feature branches for any feature implementations. If bug fixes are relatively small they can be done directly in the develop branch.

Code Reviews

Code reviews are done for features, so once a feature implementation is complete, issue a pull request to have the feature branch merged back into develop. Small bug fixes don't generally need to be reviewed but if a bug is large or complex it might be a good idea to push it out to a feature branch and treat it as a feature-bug, using a PR and code review to have it merged back to develop.

Anyone who didn't work on the feature may perform the code review. The reviewer should assign the PR to themselves so others know the PR is being processed.

Test Suite

Pass the Test Suite

Before issuing a pull request, make sure the test suite is passing. We will generally reject any PR that breaks tests.

Add Tests

Although not a requirement, it would be nice to have unit tests in the test project to validate your contribution, if applicable.

Issue Tracker

Assign Issues

Assign the issue to yourself before commencing work on it. This will help avoid multiple devs working on the same issue at once. Also, if a issue is already assigned, don't reassign it to yourself without first checking with the current assingee if they're actively working on it.

Assign a Milestone

Issues should be also be assigned to a milestone before commencing work. This makes it much easier to track when issues were fixed and also to prepare release notes. Users often need to know which exact version a particular issue is fixed in so they know if they need to upgrade or not.

Bugs will normally be assigned to the next minor version of the module and large features to the next major version, though the size of the version may need to be determined closer to release.

Issue Labels

Labels are used on issues to help identify what they are for. For example, use the enhacement label for new features and the bug label for a bug.

Issue Workflow

We use labels on issues in the issue tracker to note at what point in the issue workflow an issue is. Labels starting with a number are workflow labels.

The workflow is as follows:

  • 0 - Backlog: The issue is being considered.
  • 1 - Ready: The issue is ready to be started.
  • 2 - In progress: The issue is being actively worked on.
  • 3 - Implemented: The issue is done and is awaiting release.