Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In order to develop code for the inspectIT a contributor needs to apply the following development process:

Table of Contents

GitHub Setup

A prerequisite to work on inspectIT is that a contributor needs to have a working GitHub account. Please use the https://github.com/join page to create an account if you don't have one.

Once the account has been created, you should create a SSH key that you will use on the GitHub. Detailed information on creating the key can be found at https://help.github.com/articles/generating-ssh-keys/.

Fork inspectIT project on the GitHub

First thing a contributor need to do is fork the official inspectIT repository on the GitHub. Each contributor of inspectIT has his own forked repository that serves for pushing the code changes a contributor developed. The official inspectIT repository is located at https://github.com/inspectIT/inspectIT. In the top right corner you will see the ability to fork the repository. Note that you must have a user on GitHub and be logged-in to perform this action.

...

Use oomph installer to get the source code

After the fork has been created, a contributor should create setup a local clone of the central repositorydevelopment environment. This can be done by executing:

...

going through the steps described for the oomph installation: Development Environment

After this is finished, add your own forked repository as a new remote to your local git repository:

Code Block
git remote add <username> git@github.com:<username>/inspectIT.git

...

Info

On the central repository, there are basically two branches: master and stable. The stable one is managed solely by our continuous integration server Jenkins after all checks are done on the master branch. Thus you should only care about the stable branch as this is the one we'll create releases from.

Implement changes & commit

Once you have the inspectIT source code via git available on your local machine, you can start coding and implementing changes. We advise that you check the Development Environment page in order to correctly setup the development environment. Please develop code thinking on Quality.

Your changes should be contained in only a few commits (and most of the time we appreciate if it is only one) as intermediate states of your developed features or bug fixes are not needed in the central repository. 

The commit message should be prefixed with a link to the JIRA ticket the work was done for. The message should always be in the format:

Code Block
INSPECTIT-xxx: Description of the changes 

It is allowed to address two or more tickets with one commit. If this is the case, then please use the following format of the commit message:

Code Block
INSPECTIT-xxx, INSPECTIT-yyy: Description of the changes  

Check that the build is working

When you have finished implementing the changes it's advised to do a final check prior to pushing the code. This can be easily done by executing the build on the Project you have been working on. In most cases it's enough to run:

Code Block
ant clean build functional-tests static-analysis

This would build the project (with your changes) and execute functional testing and static code analysis checks. You must make sure that no step of this ant build is failing and that build can be completed successfully. 

Create a pull request

When everything is set, you can push the branch containing the changes to your previously forked repository. If you followed all the steps from this page, this remote repository should be named after your username:

Code Block
git push <username> BRANCH_WITH_THE_CHANGES

Once you pushed the branch, you can make a pull request on the GitHub. Please go to the forked repository page and click on Branches. There you will have a possibility to create a Pull Request for each branch that you have on your forked repository:

Image RemovedImage Removed

Once you have selected correct branch, you will be guided to the compare and confirm page. Please make sure that the base fork is  inspectIT/inspectIT and base branch is stable (this should be set by default). Fill in the title of the pull request and description of the changes you performed (optional) and execute the Create pull request action. It is not necessary to add lots of text to the pull request as this information should be available already in the JIRA ticketing.

Image Removed

Label the pull request

Info

only applicable if you are NovaTec student or employee, else just skip this.

Label the pull request with the label "Comments only in Reviewable". This ensures that internal comments on pull requests are only available on reviewable but not pushed to GitHub.

First pull request

...

.