Block release if tagged commit is not an ancestor of master
Why is this change being made?
When performing a true merge, the commits from a feature branch are
applied to master via a merge commit. When doing a release in this case, the merge commit
must be the commit to be tagged in order for the changes to
correctly reflect the state of master. While the commits added via the
merge commit do appear in the log on master, when checking out to those
commits, they actually reflect the state of the branch which they were
developed on. This change adds a check to the release pipeline which
uses git merge-base
in order to verify if a commit is an ancestor of
master before executing a release. If the commit is not an ancestor,
then it does not reflect the state of master and the release should be
halted.
Edited by Brian Williams