Arch Builder INIT
This commit is contained in:
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
repo="${AYUGRAM_REPO:-AyuGram/AyuGramDesktop}"
|
||||
api="https://api.github.com/repos/${repo}/releases/latest"
|
||||
|
||||
json="$(curl -fsSL --retry 5 --retry-all-errors \
|
||||
-H 'Accept: application/vnd.github+json' \
|
||||
-H 'X-GitHub-Api-Version: 2022-11-28' \
|
||||
"$api")"
|
||||
|
||||
tag="$(jq -r '.tag_name // empty' <<<"$json")"
|
||||
prerelease="$(jq -r '.prerelease // false' <<<"$json")"
|
||||
draft="$(jq -r '.draft // false' <<<"$json")"
|
||||
|
||||
[[ -n "$tag" ]] || { echo "GitHub did not return a release tag" >&2; exit 1; }
|
||||
[[ "$draft" == "false" ]] || { echo "Latest release is a draft" >&2; exit 1; }
|
||||
[[ "$prerelease" == "false" ]] || { echo "Latest release is a prerelease: $tag" >&2; exit 1; }
|
||||
|
||||
version="${tag#v}"
|
||||
[[ "$version" =~ ^[0-9]+(\.[0-9]+)+([._-][0-9A-Za-z.-]+)?$ ]] || {
|
||||
echo "Unexpected release tag: $tag" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
archive="AyuGramDesktop-${version}-full.tar.gz"
|
||||
asset_url="https://github.com/${repo}/releases/download/${tag}/${archive}"
|
||||
|
||||
echo "Latest stable release: ${tag}"
|
||||
echo "Archive: ${asset_url}"
|
||||
|
||||
curl -fsSIL --retry 5 --retry-all-errors "$asset_url" >/dev/null
|
||||
|
||||
current=""
|
||||
[[ -f .current-version ]] && current="$(tr -d '[:space:]' < .current-version)"
|
||||
|
||||
echo "Current published version: ${current:-none}"
|
||||
|
||||
if [[ "$version" == "$current" ]]; then
|
||||
echo "update=false" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "update=true" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
echo "version=${version}" >> "$GITHUB_OUTPUT"
|
||||
echo "tag=${tag}" >> "$GITHUB_OUTPUT"
|
||||
echo "archive=${archive}" >> "$GITHUB_OUTPUT"
|
||||
Reference in New Issue
Block a user