|
92 | 92 | }
|
93 | 93 |
|
94 | 94 | echo_latest_stable_version() {
|
| 95 | +url="https://github.com/coder/coder/releases/latest" |
95 | 96 | # https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c#gistcomment-2758860
|
96 |
| -version="$(curl -fsSLI -o /dev/null -w"%{url_effective}" https://github.com/coder/coder/releases/latest)" |
| 97 | +response=$(curl -sSLI -o /dev/null -w"\n%{http_code} %{url_effective}"${url}) |
| 98 | +status_code=$(echo"$response"| tail -n1| cut -d'' -f1) |
| 99 | +version=$(echo"$response"| tail -n1| cut -d'' -f2-) |
| 100 | +body=$(echo"$response"| sed'$d') |
| 101 | + |
| 102 | +if ["$status_code"!="200" ];then |
| 103 | +echoerr"GitHub API returned status code:${status_code}" |
| 104 | +echoerr"URL:${url}" |
| 105 | +exit 1 |
| 106 | +fi |
| 107 | + |
97 | 108 | version="${version#https://github.com/coder/coder/releases/tag/v}"
|
98 |
| -echo"${version}" |
| 109 | +echo"$version" |
99 | 110 | }
|
100 | 111 |
|
101 | 112 | echo_latest_mainline_version() {
|
102 | 113 | # Fetch the releases from the GitHub API, sort by version number,
|
103 | 114 | # and take the first result. Note that we're sorting by space-
|
104 | 115 | # separated numbers and without utilizing the sort -V flag for the
|
105 | 116 | # best compatibility.
|
106 |
| -curl -fsSL https://api.github.com/repos/coder/coder/releases| |
| 117 | +url="https://api.github.com/repos/coder/coder/releases" |
| 118 | +response=$(curl -sSL -w"\n%{http_code}"${url}) |
| 119 | +status_code=$(echo"$response"| tail -n1) |
| 120 | +body=$(echo"$response"| sed'$d') |
| 121 | + |
| 122 | +if ["$status_code"!="200" ];then |
| 123 | +echoerr"GitHub API returned status code:${status_code}" |
| 124 | +echoerr"URL:${url}" |
| 125 | +echoerr"Response body:${body}" |
| 126 | +exit 1 |
| 127 | +fi |
| 128 | + |
| 129 | +echo"$body"| |
107 | 130 | awk -F'"''/"tag_name"/ {print $4}'|
|
108 | 131 | tr -d v|
|
109 | 132 | tr.''|
|
@@ -405,8 +428,10 @@ main() {
|
405 | 428 | STABLE_VERSION=$(echo_latest_stable_version)
|
406 | 429 | if ["${MAINLINE}"= 1 ];then
|
407 | 430 | VERSION=$(echo_latest_mainline_version)
|
| 431 | +echoh"Resolved mainline version: v${VERSION}" |
408 | 432 | elif ["${STABLE}"= 1 ];then
|
409 | 433 | VERSION=${STABLE_VERSION}
|
| 434 | +echoh"Resolved stable version: v${VERSION}" |
410 | 435 | fi
|
411 | 436 |
|
412 | 437 | distro_name
|
|