Versions Compared

Key

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

As inspectIT is highly focussed focused on quality, we introduced a Development Process in which each feature is checked by an integration manager. During an integration a piece of work a developer created (on a Feature branch) will be integrated with the master branch of the central repository.

The integration manager checks a pull request that a contributor created. If the pull request is valid, he pushes the commit to the stable repository of inspectIT. 

Warning

Don't use the merge option on the GitHub to merge the ticket! Re-base and push manually only.

The Integration Manager is responsible for:

  • ensure that the feature is working
  • ensure that all tests are green
  • ensure that no errors are reported in static code analysis
  • ensure that the commit is correct (naming, squashing, ...)
  • ensure that the commit can be rebased re-based on master

    Warning

    Don't use the merge option on the GitHub to merge the ticket! Re-base and push manually only.

  • check if the realization of the feature complies with other similar realizations
  • ensure that new dependencies that are added are necessary and not already addressed by current libraries
  • ensure that when adding new dependencies (or updating existing ones), the licensing information (Used licenses in inspectIT) is updated and the new license is checked (see Which licenses we can use and under what conditions)

Marking Pull Requests with labels

For easier collaboration, several labels are define on the GitHub, so that proper state of the Pull Request can be marked:

In-ProgressShould be set by integration manager when the integration starts.
RejectedShould be set by integration manager when integration failed.
Rebased & MergedShould be set by integration manager when pull request is closed with successful merging.
Comments only in ReviewableShould be set always, if it's not there it's responsibility of integration manager to add it before using Reviewable.