mirror of
https://github.com/parkervcp/eggs.git
synced 2024-11-22 20:42:54 +08:00
add a scripts folder as a resource
This specifically adds a the github_release_grabber I wrote for the tmodloader egg.
This commit is contained in:
parent
88d6563644
commit
533ce1f343
28
scripts/github_release_grabber.sh
Normal file
28
scripts/github_release_grabber.sh
Normal file
@ -0,0 +1,28 @@
|
||||
## this is a simple script to use the github API for release versions.
|
||||
## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)
|
||||
## this supports using oauth/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)
|
||||
## if you are getting hit with GitHub API limit issues then you need to have the user and token set.
|
||||
|
||||
|
||||
if [ -z "$GITHUB_USER" ] && [ -z "$GITHUB_OAUTH_TOKEN" ] ; then
|
||||
echo -e "using anon api call"
|
||||
else
|
||||
echo -e "user and oauth token set"
|
||||
alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '
|
||||
fi
|
||||
|
||||
## get release info and download links
|
||||
LATEST_JSON=$(curl --silent "https://api.github.com/repos/$GITHUB_PACKAGE/releases/latest")
|
||||
RELEASES=$(curl --silent "https://api.github.com/repos/$GITHUB_PACKAGE/releases")
|
||||
|
||||
if [ -z "$VERSION" ] || [ "$VERSION" == "latest" ]; then
|
||||
DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})
|
||||
else
|
||||
VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION "$VERSION" '.[] | select(.tag_name==$VERSION) | .tag_name')
|
||||
if [ "$VERSION" == "$VERSION_CHECK" ]; then
|
||||
DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION "$VERSION" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})
|
||||
else
|
||||
echo -e "defaulting to latest release"
|
||||
DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url)
|
||||
fi
|
||||
fi
|
Loading…
Reference in New Issue
Block a user