7.6. Integrating

Covered with tests
Instantly I’d like to merge
In this dream of ours!
   -—after Ochi Etsujin (1656?-1739?)

7.6.1. Integrating principles

  1. Check it from the helicopter. If it ain’t green, it ain’t finished. If it ain’t understandable, it ain’t documented.
  1. Beware of inter-module relations. Changing API? Perhaps this pull request may break other modules. Check outside usage. Check the presence of versionadded, versionmodified, deprecated docstring directives.
  1. Beware of inter-service relations. Changing pre-existing tests? Perhaps this pull request does not fit the needs of other Invenio services.
  1. Check the signature karma. If it ain’t signed, it ain’t finished.
  1. Check the counter-signature karma. If it ain’t counter-signed, it ain’t finished. Check for “Reviewed-by” commit signatures. Check for “LGTM” or ”:shipit:” pull request signatures.
  1. Avoid self merges. Each pull request should be seen by another pair of eyes. Was it authored and reviewed by two different persons? Good. Were the two different persons coming from two different service teams? Better.