@@ -191,13 +191,14 @@ jobs:
191191 printf "${ANSI_LIGHT_GREEN} [OK]\n"
192192
193193 default_branch="${defaultBranch}"
194- printf " default_branch=%s \n" "${default_branch}"
194+ printf " Default branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR} \n" "${default_branch}"
195195 else
196196 printf "${ANSI_LIGHT_RED} [FAILED]\n"
197- printf " %s \n" "${default_branch}"
197+ printf " ${ANSI_LIGHT_RED}%s${ANSI_NOCOLOR} \n" "${default_branch}"
198198 fi
199199
200200 printf "Commit checks:\n"
201+ printf " Commit: %s\n" "${{ github.sha }}"
201202 printf " Commit kind "
202203 if [[ -z "$(git rev-list -1 --merges ${{ github.sha }}~1..${{ github.sha }})" ]]; then
203204 is_regular_commit="true"
@@ -208,24 +209,37 @@ jobs:
208209 fi
209210
210211 printf "Branch checks:\n"
212+ printf " Branch: %s\n" "${branch}"
213+ printf " Commit on default branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR} " "${defaultBranch}"
211214 if [[ "${branch}" == "${defaultBranch}" ]]; then
212215 on_default_branch="true"
213- printf " Commit on default branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${defaultBranch}"
216+ printf "${ANSI_LIGHT_GREEN}[YES]${ANSI_NOCOLOR}\n"
217+ else
218+ printf "${ANSI_LIGHT_RED}[NO]${ANSI_NOCOLOR}\n"
214219 fi
215220
221+ printf " Commit on main branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR} " "${{ inputs.main_branch }}"
216222 if [[ "${branch}" == "${{ inputs.main_branch }}" ]]; then
217223 on_main_branch="true"
218- printf " Commit on main branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${{ inputs.main_branch }}"
224+ printf "${ANSI_LIGHT_GREEN}[YES]${ANSI_NOCOLOR}\n"
225+ else
226+ printf "${ANSI_LIGHT_RED}[NO]${ANSI_NOCOLOR}\n"
219227 fi
220228
229+ printf " Commit on release branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR} " "${{ inputs.release_branch }}"
221230 if [[ "${branch}" == "${{ inputs.release_branch }}" ]]; then
222231 on_release_branch="true"
223- printf " Commit on release branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${{ inputs.release_branch }}"
232+ printf "${ANSI_LIGHT_GREEN}[YES]${ANSI_NOCOLOR}\n"
233+ else
234+ printf "${ANSI_LIGHT_RED}[NO]${ANSI_NOCOLOR}\n"
224235 fi
225236
237+ printf " Commit on development branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR} " "${{ inputs.development_branch }}"
226238 if [[ "${branch}" == "${{ inputs.development_branch }}" ]]; then
227239 on_dev_branch="true"
228- printf " Commit on development branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${{ inputs.development_branch }}"
240+ printf "${ANSI_LIGHT_GREEN}[YES]${ANSI_NOCOLOR}\n"
241+ else
242+ printf "${ANSI_LIGHT_RED}[NO]${ANSI_NOCOLOR}\n"
229243 fi
230244
231245 if [[ "${is_merge_commit}" == "true" ]]; then
@@ -261,11 +275,14 @@ jobs:
261275
262276 NIGHTLY_TAG_PATTERN='^${{ inputs.nightly_tag_pattern }}$'
263277 RELEASE_TAG_PATTERN='^${{ inputs.release_tag_pattern }}$'
264- printf " Check tag name against regexp '%s' ... " "${RELEASE_TAG_PATTERN}"
265- if [[ "${tag}" =~ NIGHTLY_TAG_PATTERN ]]; then
278+
279+ printf "Tag checks:\n"
280+ printf " Tag: %s\n" "${tag}"
281+ printf " Check tag '%s' against regexp ... " "${tag}"
282+ if [[ "${tag}" =~ ${NIGHTLY_TAG_PATTERN} ]]; then
266283 printf "${ANSI_LIGHT_GREEN}[NIGHTLY]${ANSI_NOCOLOR}\n"
267284 is_nightly_tag="true"
268- elif [[ "${tag}" =~ $RELEASE_TAG_PATTERN ]]; then
285+ elif [[ "${tag}" =~ ${ RELEASE_TAG_PATTERN} ]]; then
269286 printf "${ANSI_LIGHT_GREEN}[RELEASE]${ANSI_NOCOLOR}\n"
270287 version="${tag}"
271288 is_release_tag="true"
@@ -277,6 +294,30 @@ jobs:
277294 printf "::error title=RexExpCheck::Tag name '%s' doesn't conform to regexp '%s' nor '%s'.\n" "${tag}" "${NIGHTLY_TAG_PATTERN}" "${RELEASE_TAG_PATTERN}"
278295 exit 1
279296 fi
297+
298+ if [[ "${is_nightly_tag}" == "true" ]]; then
299+ printf " Check if nightly tag is on main branch '%s' ... " "${{ inputs.main_branch }}"
300+ git branch --remotes --contains $(git rev-parse --verify "tags/${tag}~0") | grep "origin/${{ inputs.main_branch }}" > /dev/null
301+ if [[ $? -eq 0 ]]; then
302+ printf "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}\n"
303+ else
304+ printf "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}\n"
305+ printf " ${ANSI_LIGHT_RED}Tag '%s' isn't on branch '%s'.${ANSI_NOCOLOR}\n" "${tag}" "${{ inputs.main_branch }}"
306+ printf "::error title=TagCheck::Tag '%s' isn't on branch '%s'.\n" "${tag}" "${{ inputs.main_branch }}"
307+ exit 1
308+ fi
309+ elif [[ "${is_release_tag}" == "true" ]]; then
310+ printf " Check if release tag is on main branch '%s' ... " "${{ inputs.main_branch }}"
311+ git branch --remotes --contains $(git rev-parse --verify "tags/${tag}~0") | grep "origin/${{ inputs.main_branch }}" > /dev/null
312+ if [[ $? -eq 0 ]]; then
313+ printf "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}\n"
314+ else
315+ printf "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}\n"
316+ printf " ${ANSI_LIGHT_RED}Tag '%s' isn't on branch '%s'.${ANSI_NOCOLOR}\n" "${tag}" "${{ inputs.main_branch }}"
317+ printf "::error title=TagCheck::Tag '%s' isn't on branch '%s'.\n" "${tag}" "${{ inputs.main_branch }}"
318+ exit 1
319+ fi
320+ fi
280321 elif [[ "${ref:0:10}" == "refs/pull/" ]]; then
281322 printf "${ANSI_LIGHT_YELLOW}[PULL REQUEST]\n"
282323 ref_kind="pullrequest"
0 commit comments