diff --git a/github-dev/upload-assets b/github-dev/upload-assets index 3885d68..7372162 100755 --- a/github-dev/upload-assets +++ b/github-dev/upload-assets @@ -3,13 +3,13 @@ set -e set -o pipefail if [[ -z "$GITHUB_TOKEN" ]]; then - echo "Set the GITHUB_TOKEN env variable." - exit 1 + echo "Set the GITHUB_TOKEN env variable." + exit 1 fi if [[ -z "$GITHUB_REPOSITORY" ]]; then - echo "Set the GITHUB_REPOSITORY env variable." - exit 1 + echo "Set the GITHUB_REPOSITORY env variable." + exit 1 fi URI=https://api.github.com @@ -17,12 +17,25 @@ API_VERSION=v3 API_HEADER="Accept: application/vnd.github.${API_VERSION}+json" AUTH_HEADER="Authorization: token ${GITHUB_TOKEN}" -# Validate the GitHub token. -curl -o /dev/null -sSL -H "${AUTH_HEADER}" -H "${API_HEADER}" "${URI}/repos/${GITHUB_REPOSITORY}" || { echo "Error: Invalid repo, token or network issue!"; exit 1; } +main(){ + local files -tag_response=$(curl -sSL -H "${AUTH_HEADER}" -H "${API_HEADER}" "${URI}/repos/${GITHUB_REPOSITORY}/releases/latest") + if [ "$#" -eq 0 ]; then + echo "Must pass files to be uploaded..." + exit 1 + fi + files=( "$@" ) -tag_name=$(echo $tag_response | jq -e --raw-output .tag_name) -tag_id=$(echo $tag_response | jq -e --raw-output .id) + # Validate the GitHub token. + curl -o /dev/null -sSL -H "${AUTH_HEADER}" -H "${API_HEADER}" "${URI}/repos/${GITHUB_REPOSITORY}" || { echo "Error: Invalid repo, token or network issue!"; exit 1; } -echo "tag name: ${tag_name} tag id: ${tag_id}" + tag_response=$(curl -sSL -H "${AUTH_HEADER}" -H "${API_HEADER}" "${URI}/repos/${GITHUB_REPOSITORY}/releases/latest") + + tag_name=$(echo $tag_response | jq -e --raw-output .tag_name) + tag_id=$(echo $tag_response | jq -e --raw-output .id) + + echo "Uploading files: ${files[@]}" + echo "For tag name: ${tag_name} tag id: ${tag_id}" +} + +main $@