Add ktx
This commit is contained in:
Executable
+61
@@ -0,0 +1,61 @@
|
||||
#! /usr/bin/env bash
|
||||
# Copyright 2024 The Khronos Group Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
function usage() {
|
||||
echo "Usage: $0 [--help | --latest | --latest-pre]"
|
||||
echo ""
|
||||
echo "With no option retrieves the list of releases from the KTX-Software"
|
||||
echo "GitHub repo."
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --help, -h Print this usage message."
|
||||
echo " --latest, -l Retrieve information about latest release."
|
||||
echo " --latest-draft, -d Retrieve information about latest draft release."
|
||||
echo " Requires suitable GitHub access token in .netrc."
|
||||
echo " --latest-pre, -p Retrieve information about latest pre-release."
|
||||
echo " Will retrieve latest draft if it is also marked"
|
||||
echo " pre-release."
|
||||
exit $1
|
||||
}
|
||||
|
||||
ktx_repo_url=https://api.github.com/repos/KhronosGroup/KTX-Software
|
||||
|
||||
# Authorization with a github token with push access is needed to see
|
||||
# draft releases. Put a suitable token in ~/.netrc. -n tells curl to
|
||||
# look for .netrc.
|
||||
function get_release_list() {
|
||||
curl \
|
||||
--silent --show-error -L -n \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||
$ktx_repo_url/releases
|
||||
}
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
get_release_list
|
||||
exit 0
|
||||
elif [ $# -eq 1 ]; then
|
||||
case $1 in
|
||||
--help | -h)
|
||||
usage 0 ;;
|
||||
--latest-draft | -d)
|
||||
release_url=$(jq -r 'map(select(.draft)) | first | .url' <<< $(get_release_list))
|
||||
;;
|
||||
--latest-pre | -p)
|
||||
release_url=$(jq -r 'map(select(.prerelease)) | first | .url' <<< $(get_release_list))
|
||||
;;
|
||||
--latest | -l)
|
||||
release_url=$ktx_repo_url/releases/latest
|
||||
;;
|
||||
*) usage 1 ;;
|
||||
esac
|
||||
else
|
||||
usage 1
|
||||
fi
|
||||
|
||||
curl \
|
||||
--silent --show-error -L -n \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||
$release_url
|
||||
Reference in New Issue
Block a user