ci: automatically detect if the git tag is the latest one
also support tags like v5.1.1.1
This commit is contained in:
parent
6093f03cb9
commit
ff14995bf6
|
@ -4,16 +4,36 @@ set -euo pipefail
|
||||||
|
|
||||||
# $1 is fully qualified git ref name, e.g. refs/tags/v5.1.0 or refs/heads/master
|
# $1 is fully qualified git ref name, e.g. refs/tags/v5.1.0 or refs/heads/master
|
||||||
|
|
||||||
|
is_latest() {
|
||||||
|
ref_name=$(basename "$1")
|
||||||
|
latest_ref_name=$(git describe --tags "$(git rev-list --tags --max-count=1)")
|
||||||
|
if [[ "$ref_name" == "$latest_ref_name" ]]; then
|
||||||
|
echo true;
|
||||||
|
else
|
||||||
|
echo false;
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
if [[ $1 =~ ^refs/tags/v[5-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
if [[ $1 =~ ^refs/tags/v[5-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
PROFILE=emqx
|
PROFILE=emqx
|
||||||
EDITION=Opensource
|
EDITION=Opensource
|
||||||
RELEASE=true
|
RELEASE=true
|
||||||
LATEST=true
|
LATEST=$(is_latest "$1")
|
||||||
|
elif [[ $1 =~ ^refs/tags/v[5-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
|
PROFILE=emqx
|
||||||
|
EDITION=Opensource
|
||||||
|
RELEASE=true
|
||||||
|
LATEST=$(is_latest "$1")
|
||||||
elif [[ $1 =~ ^refs/tags/e[5-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
elif [[ $1 =~ ^refs/tags/e[5-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
PROFILE=emqx-enterprise
|
PROFILE=emqx-enterprise
|
||||||
EDITION=Enterprise
|
EDITION=Enterprise
|
||||||
RELEASE=true
|
RELEASE=true
|
||||||
LATEST=true
|
LATEST=$(is_latest "$1")
|
||||||
|
elif [[ $1 =~ ^refs/tags/e[5-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
|
PROFILE=emqx-enterprise
|
||||||
|
EDITION=Enterprise
|
||||||
|
RELEASE=true
|
||||||
|
LATEST=$(is_latest "$1")
|
||||||
elif [[ $1 =~ ^refs/tags/v[5-9]+\.[0-9]+\.[0-9]+-(alpha|beta|rc)\.[0-9]+$ ]]; then
|
elif [[ $1 =~ ^refs/tags/v[5-9]+\.[0-9]+\.[0-9]+-(alpha|beta|rc)\.[0-9]+$ ]]; then
|
||||||
PROFILE=emqx
|
PROFILE=emqx
|
||||||
EDITION=Opensource
|
EDITION=Opensource
|
||||||
|
|
Loading…
Reference in New Issue