Skip to content

Commit 17bf472

Browse files
authored
Merge pull request #4 from micovery/main
fix: modify install script to prioritize stable releases
2 parents 58fda1a + 1ab269f commit 17bf472

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

install

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,44 @@ checkCurrentVersion() {
8888
fi
8989
}
9090

91+
92+
sortSemver() {
93+
local lines=""
94+
while read version; do
95+
if [[ -z "${lines}" ]] ; then
96+
lines=$(printf '%s' "${version}")
97+
else
98+
lines=$(printf '%s\n%s' "${lines}" "${version}")
99+
fi
100+
done
101+
echo "$lines" | sed -r 's:^v::' | sed -r 's:-:~:' | sort -r -V | sed -r 's:^:v:' | sed -r 's:~:-:'
102+
}
103+
104+
pickLatestRelease() {
105+
local first=""
106+
while read version; do
107+
first="${version}"
108+
if [[ "${version}" != *"-"* ]] ; then
109+
echo "${version}"
110+
return
111+
fi
112+
done
113+
echo "${first}"
114+
}
115+
116+
getReleasedTags() {
117+
local releaseUrl="${1}"
118+
curl -s "${releaseUrl}" | grep "tag_name" | sed -r 's;^[^:]+:[^"]*"([^"]+)".*;\1;'
119+
}
120+
91121
getLatestRelease() {
92122
local releaseUrl="https://api.github.com/repos/${GITHUB_ORG}/${GITHUB_REPO}/releases"
93123
local latest_release=""
94124

95-
latest_release=$(curl -s $releaseUrl | grep \"tag_name\" | grep -v rc | awk 'NR==1{print $2}' | sed -n 's/\"\(.*\)\",/\1/p')
125+
latest_release=$(getReleasedTags $releaseUrl | sortSemver | pickLatestRelease)
96126
ret_val=$latest_release
97127
}
98128

99-
100129
createTmpDir() {
101130
ret_val=$(mktemp -dt ${BINARY_FILENAME}-tmp)
102131
}

0 commit comments

Comments
 (0)