Skip to content

Gatekeeper

Hannes Vogt edited this page Mar 5, 2019 · 3 revisions

The gatekeeper is responsible for the quality of the product. For that reason he grants or denies PRs made by the development team. He ensures that the Jenkins tests passed.

Checklist for the gatekeeper:

Summary

  1. technical specification?
  2. branch up-to-date with master?
  3. strgrid + icgrid passed? perftest needed?
  4. check for violations of some patterns: clang-format, License up-to-date
  5. "Squash merge" with TS as commit message

Details

  1. Is the Technical Specification there and complete? (should already be checked by the reviewer)
  2. Is the branch up-to-date with the master? Can it be merged automatically or should it be merged manually and tests re-run?
    • in case of merge conflicts which are simple to resolve, do it; otherwise ask the developer to update to master.
  3. Tests passed
    • strgrid
    • icgrid
    • Do we need a performance test? (This decision should be evaluated already by the reviewer)
  4. Browse quickly through the PR and check for common patterns, e.g.
    • when there was a recent update of the license, do we re-introduce the old license from an older branch
    • clang-formatting respected or are there suspicious patterns?
  5. Finally:
    • Click on "Squash and merge".
    • Put a descriptive title for the feature/bugfix, usually the title of the PR is not descriptive enough.
    • Add the Jira ticket number in the parenthesis and all GitHub issue numbers which are resolved by this PR for quicker access later on.
    • Copy the TS as the commit message and fix formatting and language. See old PRs for examples and the description for a TS in Process. (Note that the commit message won't be displayed as Markdown.) Add a statement "Fixes #???" for each issue which is resolved by this PR to automatically close the issue on merge.