Skip to content

Commit 01ad5c7

Browse files
author
BSKY
committed
Use the git command to get all versions
1 parent 044d58d commit 01ad5c7

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

bin/list-all

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
#!/usr/bin/env bash
22

3-
releases_path=https://api.github.com/repos/operator-framework/operator-sdk/releases
4-
cmd="curl -s"
5-
if [ -n "$GITHUB_API_TOKEN" ]; then
6-
cmd="$cmd -H 'Authorization: token $GITHUB_API_TOKEN'"
7-
fi
8-
cmd="$cmd $releases_path"
3+
set -eo pipefail
94

10-
# stolen from https://github.com/rbenv/ruby-build/pull/631/files#diff-fdcfb8a18714b33b07529b7d02b54f1dR942
11-
function sort_versions() {
12-
sed 'h; s/[+-]/./g; s/.p\([[:digit:]]\)/.z\1/; s/$/.z/; G; s/\n/ /' | \
5+
sort_versions() {
6+
sed 'h; s/[+-]/./g; s/.p\([[:digit:]]\)/.z\1/; s/$/.z/; G; s/\n/ /' |
137
LC_ALL=C sort -t. -k 1,1 -k 2,2n -k 3,3n -k 4,4n -k 5,5n | awk '{print $2}'
148
}
159

16-
# Fetch all tag names, and get only second column. Then remove all unnecesary characters.
17-
versions=$(eval $cmd | grep -oE "tag_name\": *\".{1,15}\"," | sed 's/tag_name\": *\"v//;s/\",//' | sort_versions)
18-
echo $versions
10+
versions=$(
11+
git ls-remote --tags https://github.com/operator-framework/operator-sdk.git |
12+
awk '!/({})/ {print $2}' |
13+
grep -Eo "[0-9]+\.[0-9]+\.[0-9]+" |
14+
sort_versions |
15+
xargs
16+
)
17+
18+
echo "$versions"

0 commit comments

Comments
 (0)