Contributing to Server Duels - TYPOStudios/server-duels GitHub Wiki

This wiki page is intended to walk developers through the process of contributing to Server Duels. This will walk you through everything from staging changes to creating a pull request to be merged into our development branch.

Create Your Feature Branch

First create a feature branch off of development. The branch name should be prepended with the developer's name and the associated JIRA item's number.

git checkout development
git branch dom-DUELS-10-short-title-of-feature

You will need to publish this branch the first time you push up commits on it to the Server Duels repository.

git push --set-upstream origin dom-DUELS-10-short-title-of-feature

Commits

As you reach stopping points throughout development of your features, you will be making commits to your feature branch and pushing them up to the remote repository. All commit messages should follow the template below:

{Insert short title of commit here}

DUELS-####

{Insert longer description of commit here}

The important part to take note of is including the JIRA item ID in the commit message, represented by the DUELS-#### line in the template above.

Pull Requests

Once you've finished developing this feature, open a pull request to merge your feature branch into development. This will require one approving review from one of the other developers of Server Duels. All pull requests must target development, pull requests that target main are reserved for release pull requests.

A pull request (PR) template will be shown for you to follow whenever you create one. Let's go over it and some other PR procedures to follow when creating one.

PR Template:

image

Choosing a title for a PR is up to the developer, but it should include the JIRA item ID in it as well. A good example would be something along the lines of "Combat Feature - DUELS-2303".

In the PR template, developers are expected to include the link to an associated JIRA item for the feature, the type of addition this merge would be to the Server Duels code base, previous behavior without this addition, and new behavior with this addition. Developers should also list and link any other associated PR's that are dependencies for this PR.

Dependencies, in this PR context, are other PR's that should be merged into development before this one. The PR template provides check boxes to mark a new PR as a dependency or mark it as having dependencies. Note that it is possible for both of these check boxes to be selected. Any dependencies a PR has should be listed under the Dependencies section.

Lastly, developers should properly tag their PR's. The selection of tags are shown and described below.

image

The release tag is reserved for administrators of the repository when merging a release PR into main. Non-administrator developers should never tag their PR's with the release tag.