mirror of
https://github.com/pyTooling/Actions.git
synced 2026-02-12 02:56:56 +08:00
Provide is_nightly_tag and is_release_tag.
This commit is contained in:
54
.github/workflows/PrepareJob.yml
vendored
54
.github/workflows/PrepareJob.yml
vendored
@@ -19,12 +19,17 @@ on:
|
|||||||
default: 'dev'
|
default: 'dev'
|
||||||
type: string
|
type: string
|
||||||
release_branch:
|
release_branch:
|
||||||
description: 'Name of the branch containing releases.'
|
description: 'Name of the branch containing releases and nightly builds.'
|
||||||
required: false
|
required: false
|
||||||
default: 'main'
|
default: 'main'
|
||||||
type: string
|
type: string
|
||||||
tag_pattern:
|
nightly_tag_pattern:
|
||||||
description: 'Name of the branch containing releases.'
|
description: 'Pattern for nightly tags on the release branch.'
|
||||||
|
required: false
|
||||||
|
default: 'nightly'
|
||||||
|
type: string
|
||||||
|
release_tag_pattern:
|
||||||
|
description: 'Pattern for release tags on the release branch. Usually: vXX.YY.ZZ'
|
||||||
required: false
|
required: false
|
||||||
default: '(v|r)?[0-9]+(\.[0-9]+){0,2}(-(dev|alpha|beta|rc)([0-9]*))?'
|
default: '(v|r)?[0-9]+(\.[0-9]+){0,2}(-(dev|alpha|beta|rc)([0-9]*))?'
|
||||||
type: string
|
type: string
|
||||||
@@ -48,6 +53,12 @@ on:
|
|||||||
is_release_commit:
|
is_release_commit:
|
||||||
description: ""
|
description: ""
|
||||||
value: ${{ jobs.Prepare.outputs.is_release_commit }}
|
value: ${{ jobs.Prepare.outputs.is_release_commit }}
|
||||||
|
is_nightly_tag:
|
||||||
|
description: ""
|
||||||
|
value: ${{ jobs.Prepare.outputs.is_nightly_tag }}
|
||||||
|
is_release_tag:
|
||||||
|
description: ""
|
||||||
|
value: ${{ jobs.Prepare.outputs.is_release_tag }}
|
||||||
ref_kind:
|
ref_kind:
|
||||||
description: ""
|
description: ""
|
||||||
value: ${{ jobs.Prepare.outputs.ref_kind }}
|
value: ${{ jobs.Prepare.outputs.ref_kind }}
|
||||||
@@ -84,6 +95,8 @@ jobs:
|
|||||||
is_regular_commit: ${{ steps.Classify.outputs.is_regular_commit }}
|
is_regular_commit: ${{ steps.Classify.outputs.is_regular_commit }}
|
||||||
is_merge_commit: ${{ steps.Classify.outputs.is_merge_commit }}
|
is_merge_commit: ${{ steps.Classify.outputs.is_merge_commit }}
|
||||||
is_release_commit: ${{ steps.Classify.outputs.is_release_commit }}
|
is_release_commit: ${{ steps.Classify.outputs.is_release_commit }}
|
||||||
|
is_nightly_tag: ${{ steps.Classify.outputs.is_nightly_tag }}
|
||||||
|
is_release_tag: ${{ steps.Classify.outputs.is_release_tag }}
|
||||||
ref_kind: ${{ steps.Classify.outputs.ref_kind }}
|
ref_kind: ${{ steps.Classify.outputs.ref_kind }}
|
||||||
branch: ${{ steps.Classify.outputs.branch }}
|
branch: ${{ steps.Classify.outputs.branch }}
|
||||||
tag: ${{ steps.Classify.outputs.tag }}
|
tag: ${{ steps.Classify.outputs.tag }}
|
||||||
@@ -126,6 +139,8 @@ jobs:
|
|||||||
is_regular_commit="false"
|
is_regular_commit="false"
|
||||||
is_merge_commit="false"
|
is_merge_commit="false"
|
||||||
is_release_commit="false"
|
is_release_commit="false"
|
||||||
|
is_nightly_tag="false"
|
||||||
|
is_release_tag="false"
|
||||||
ref_kind="unknown"
|
ref_kind="unknown"
|
||||||
branch=""
|
branch=""
|
||||||
tag=""
|
tag=""
|
||||||
@@ -192,15 +207,22 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TAG_PATTERN='^${{ inputs.tag_pattern }}$'
|
NIGHTLY_TAG_PATTERN='^${{ inputs.nightly_tag_pattern }}$'
|
||||||
printf " Check tag name against regexp '%s' ... " "${TAG_PATTERN}"
|
RELEASE_TAG_PATTERN='^${{ inputs.release_tag_pattern }}$'
|
||||||
if [[ "${tag}" =~ $TAG_PATTERN ]]; then
|
printf " Check tag name against regexp '%s' ... " "${RELEASE_TAG_PATTERN}"
|
||||||
printf "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}\n"
|
if [[ "${tag}" =~ NIGHTLY_TAG_PATTERN ]]; then
|
||||||
|
printf "${ANSI_LIGHT_GREEN}[NIGHTLY]${ANSI_NOCOLOR}\n"
|
||||||
|
is_nightly_tag=true
|
||||||
|
elif [[ "${tag}" =~ $RELEASE_TAG_PATTERN ]]; then
|
||||||
|
printf "${ANSI_LIGHT_GREEN}[RELEASE]${ANSI_NOCOLOR}\n"
|
||||||
version="${tag}"
|
version="${tag}"
|
||||||
|
is_release_tag=true
|
||||||
else
|
else
|
||||||
printf "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}\n"
|
printf "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}\n"
|
||||||
printf "${ANSI_LIGHT_RED}Tag name '%s' doesn't conform to regexp '%s'.${ANSI_NOCOLOR}\n" "${tag}" "${TAG_PATTERN}"
|
printf "${ANSI_LIGHT_RED}Tag name '%s' doesn't conform to regexp${ANSI_NOCOLOR}\n" "${tag}"
|
||||||
printf "::error title=RexExpCheck::Tag name '%s' doesn't conform to regexp '%s'.\n" "${tag}" "${TAG_PATTERN}"
|
printf " ${ANSI_LIGHT_RED}nightly tag: %s${ANSI_NOCOLOR}\n" "${NIGHTLY_TAG_PATTERN}"
|
||||||
|
printf " ${ANSI_LIGHT_RED}release tag: %s${ANSI_NOCOLOR}\n" "${RELEASE_TAG_PATTERN}"
|
||||||
|
printf "::error title=RexExpCheck::Tag name '%s' doesn't conform to regexp '%s' nor '%s'.\n" "${tag}" "${NIGHTLY_TAG_PATTERN}" "${RELEASE_TAG_PATTERN}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
@@ -216,6 +238,8 @@ jobs:
|
|||||||
is_regular_commit=${is_regular_commit}
|
is_regular_commit=${is_regular_commit}
|
||||||
is_merge_commit=${is_merge_commit}
|
is_merge_commit=${is_merge_commit}
|
||||||
is_release_commit=${is_release_commit}
|
is_release_commit=${is_release_commit}
|
||||||
|
is_nightly_tag=${is_nightly_tag}
|
||||||
|
is_release_tag=${is_release_tag}
|
||||||
ref_kind=${ref_kind}
|
ref_kind=${ref_kind}
|
||||||
branch=${branch}
|
branch=${branch}
|
||||||
tag=${tag}
|
tag=${tag}
|
||||||
@@ -269,15 +293,15 @@ jobs:
|
|||||||
printf " %s\n" "MergedAt: ${PR_MERGED_AT} ($(date -d"${PR_MERGED_AT}" '+%d.%m.%Y - %H:%M:%S'))"
|
printf " %s\n" "MergedAt: ${PR_MERGED_AT} ($(date -d"${PR_MERGED_AT}" '+%d.%m.%Y - %H:%M:%S'))"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TAG_PATTERN='^${{ inputs.tag_pattern }}$'
|
RELEASE_TAG_PATTERN='^${{ inputs.release_tag_pattern }}$'
|
||||||
printf "Check Pull Request title against regexp '%s' ... " "${TAG_PATTERN}"
|
printf "Check Pull Request title against regexp '%s' ... " "${RELEASE_TAG_PATTERN}"
|
||||||
if [[ "${PR_TITLE}" =~ $TAG_PATTERN ]]; then
|
if [[ "${PR_TITLE}" =~ $RELEASE_TAG_PATTERN ]]; then
|
||||||
printf "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}\n"
|
printf "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}\n"
|
||||||
RELEASE_VERSION="${PR_TITLE}"
|
RELEASE_VERSION="${PR_TITLE}"
|
||||||
else
|
else
|
||||||
printf "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}\n"
|
printf "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}\n"
|
||||||
printf "${ANSI_LIGHT_RED}Pull Request title '%s' doesn't conform to regexp '%s'.${ANSI_NOCOLOR}\n" "${PR_TITLE}" "${TAG_PATTERN}"
|
printf "${ANSI_LIGHT_RED}Pull Request title '%s' doesn't conform to regexp '%s'.${ANSI_NOCOLOR}\n" "${PR_TITLE}" "${RELEASE_TAG_PATTERN}"
|
||||||
printf "::error title=RexExpCheck::Pull Request title '%s' doesn't conform to regexp '%s'.\n" "${PR_TITLE}" "${TAG_PATTERN}"
|
printf "::error title=RexExpCheck::Pull Request title '%s' doesn't conform to regexp '%s'.\n" "${PR_TITLE}" "${RELEASE_TAG_PATTERN}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -298,6 +322,8 @@ jobs:
|
|||||||
printf "is_regular_commit: %s\n" "${{ steps.Classify.outputs.is_regular_commit }}"
|
printf "is_regular_commit: %s\n" "${{ steps.Classify.outputs.is_regular_commit }}"
|
||||||
printf "is_merge_commit: %s\n" "${{ steps.Classify.outputs.is_merge_commit }}"
|
printf "is_merge_commit: %s\n" "${{ steps.Classify.outputs.is_merge_commit }}"
|
||||||
printf "is_release_commit: %s\n" "${{ steps.Classify.outputs.is_release_commit }}"
|
printf "is_release_commit: %s\n" "${{ steps.Classify.outputs.is_release_commit }}"
|
||||||
|
printf "is_nightly_tag: %s\n" "${{ steps.Classify.outputs.is_nightly_tag }}"
|
||||||
|
printf "is_release_tag: %s\n" "${{ steps.Classify.outputs.is_release_tag }}"
|
||||||
printf "ref_kind: %s\n" "${{ steps.Classify.outputs.ref_kind }}"
|
printf "ref_kind: %s\n" "${{ steps.Classify.outputs.ref_kind }}"
|
||||||
printf "branch: %s\n" "${{ steps.Classify.outputs.branch }}"
|
printf "branch: %s\n" "${{ steps.Classify.outputs.branch }}"
|
||||||
printf "tag: %s\n" "${{ steps.Classify.outputs.tag }}"
|
printf "tag: %s\n" "${{ steps.Classify.outputs.tag }}"
|
||||||
|
|||||||
Reference in New Issue
Block a user