+}
+
+
+#INFO
+echo "INFO:"
+echo "RELEASE_FILE: $release_file"
+echo "LOGS_SERVER: $LOGS_SERVER"
+echo "NEXUS_URL: $NEXUS_URL"
+echo "NEXUS_PATH: $NEXUS_PATH"
+echo "NEXUSPROXY: $NEXUSPROXY"
+echo "JENKINS_HOSTNAME: $JENKINS_HOSTNAME"
+echo "SILO: $SILO"
+echo "PROJECT: $PROJECT"
+echo "PROJECT-DASHED: ${PROJECT//\//-}"
+
+echo "VERSION: $VERSION"
+echo "LOG DIR: $LOG_DIR"
+
+pushd "$PATCH_DIR"
+ echo "wget ${LOGS_URL}/patches/{${PROJECT//\//-}.bundle,taglist.log.gz}"
+ wget "${LOGS_URL}"/patches/{"${PROJECT//\//-}".bundle,taglist.log.gz}
+ gunzip taglist.log.gz
+ cat "$PATCH_DIR"/taglist.log
+popd
+
+# Verify allowed versions
+# Allowed versions are "v#.#.#" or "#.#.#" aka SemVer
+allowed_version_regex="^((v?)([0-9]+)\.([0-9]+)\.([0-9]+))$"
+if [[ ! $VERSION =~ $allowed_version_regex ]]; then
+ echo "The version $VERSION is not a semantic valid version"
+ echo "Allowed versions are \"v#.#.#\" or \"#.#.#\" aka SemVer"
+ echo "See https://semver.org/ for more details on SemVer"
+ exit 1
+fi
+
+if git tag -v "$VERSION"; then
+ echo "Repo already tagged $VERSION"
+ echo "This job has already run exit 0"
+ exit 0
+fi
+
+git checkout "$(awk '{print $NF}' "$PATCH_DIR/taglist.log")"
+git fetch "$PATCH_DIR/${PROJECT//\//-}.bundle"
+git merge --ff-only FETCH_HEAD
+git tag -am "${PROJECT//\//-} $VERSION" "$VERSION"
+sigul --batch -c "$SIGUL_CONFIG" sign-git-tag "$SIGUL_KEY" "$VERSION" < "$SIGUL_PASSWORD"
+
+echo "Showing latest signature for $PROJECT:"
+gpg --import "$SIGNING_PUBKEY"
+echo "git tag -v $VERSION"
+git tag -v "$VERSION"
+
+########## Merge Part ##############
+if [[ "$JOB_NAME" =~ "merge" ]]; then
+ echo "Running merge"
+ gerrit_ssh=$(echo "$GERRIT_URL" | awk -F"/" '{print $3}')
+ git remote set-url origin ssh://"$RELEASE_USERNAME"@"$gerrit_ssh":29418/"$PROJECT"
+ git config user.name "$RELEASE_USERNAME"
+ git config user.email "$RELEASE_EMAIL"
+ echo -e "Host $gerrit_ssh\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
+ chmod 600 ~/.ssh/config
+ git push origin "$VERSION"
+
+
+fi
+
+# This function: if merge push to nexus. If verify output the proposed push command.
+nexus_release
+#
+#echo "########### End Script release-job.sh ###################################"