Consider moving "tag already exists" check earlier in release process
2020-03-31 16:04:08.884915 I ReleaseTools -- Starting EE release
2020-03-31 16:04:08.884952 I ReleaseTools::Release::GitlabEeRelease -- Preparing repository...
2020-03-31 16:05:51.171686 I ReleaseTools::Release::GitalyRelease -- Preparing repository...
2020-03-31 16:06:00.617021 W ReleaseTools::Release::GitalyRelease -- Tag already exists, skipping -- {:name=>"v12.9.2"}
2020-03-31 16:06:00.718499 I ReleaseTools::Release::GitlabEeRelease -- Compiling changelog -- {:version=>"12.9.2-ee"}
2020-03-31 16:08:17.194315 W ReleaseTools::Release::GitlabEeRelease -- Tag already exists, skipping -- {:name=>"v12.9.2-ee"}
2020-03-31 16:08:17.195093 I ReleaseTools::Release::OmnibusGitlabRelease -- Preparing repository...
2020-03-31 16:08:31.186186 W ReleaseTools::Release::OmnibusGitlabRelease -- Tag already exists, skipping -- {:name=>"12.9.2+ee.0"}
2020-03-31 16:08:34.286903 I ReleaseTools::Release::OmnibusGitlabRelease -- Pushing ref to remotes -- {:name=>"12-9-stable", :remotes=>[:canonical, :dev]}
2020-03-31 16:08:35.977154 I ReleaseTools::Release::OmnibusGitlabRelease -- Pushing ref to remotes -- {:name=>"master", :remotes=>[:canonical, :dev]}
Compiling the changelog was pointless in this case since the tags were eventually skipped. We could perhaps move this check inside the Preparing repository
section.