1
0
mirror of https://github.com/ryanoasis/nerd-fonts.git synced 2024-12-25 20:18:01 +02:00
nerd-fonts/bin/scripts/upload-archives.sh
2019-11-03 09:08:39 -08:00

63 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
# Nerd Fonts Version: 2.1.0
# Script Version: 1.0.1
# Iterates over all archives and uploads to given release
# uncomment to debug:
#set -x
LINE_PREFIX="# [Nerd Fonts] "
cd ../../archives/ || {
echo >&2 "$LINE_PREFIX Could not find archives directory"
exit 1
}
private_config="../private.cfg"
# source the private confit file if exists:
if [ -f "$private_config" ]
then
# shellcheck source=/dev/null
source "$private_config"
else
echo >&2 "$LINE_PREFIX Could not source private config"
exit 1
fi
# shellcheck disable=SC2154
# # we know the '$github_access_token' is from the sourced file
TOKEN=$github_access_token
OWNER="ryanoasis"
REPO="nerd-fonts"
# release id from tag (first script param) or latest if no param given:
if [ $# -eq 1 ]
then
tag=$1
release_url="https://api.github.com/repos/ryanoasis/nerd-fonts/releases/tags/$tag"
echo "$LINE_PREFIX Tag of '$tag' given, will upload to release id based on '$tag'"
else
tag=$1
release_url="https://api.github.com/repos/ryanoasis/nerd-fonts/releases/latest"
echo "$LINE_PREFIX No tag given, will upload to release id based on latest"
fi
RELEASE=$(curl -# -XGET -H "Authorization:token $TOKEN" -H 'Content-Type: application/json' $release_url | jq -r '.id')
echo "$LINE_PREFIX Release id was '$RELEASE'"
#find ./Hack -maxdepth 0 -type d | # uncomment to test 1 font
find ./ -name "*.zip" | # uncomment to test all font
while read -r filename
do
basename=$(basename "$filename")
printf "$LINE_PREFIX Uploading %s" "$basename"
curl -# -XPOST -H "Authorization:token $TOKEN" -H "Content-Type:application/octet-stream" --data-binary @"$basename" https://uploads.github.com/repos/"$OWNER"/"$REPO"/releases/"$RELEASE"/assets?name="$basename"
#exit # uncomment to test only 1 zip
done