mirror of
https://github.com/Direct-Dev-Ru/go-lcg.git
synced 2025-11-16 01:29:55 +00:00
53 lines
1.5 KiB
Bash
53 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Variables
|
|
VERSION_FILE="VERSION.txt"
|
|
|
|
GITHUB_TOKEN="${GITHUB_TOKEN}" # Replace with your GitHub token
|
|
|
|
REPO="direct-dev-ru/binaries" # Replace with your GitHub username/repo
|
|
|
|
TAG=lcg.$(cat "$VERSION_FILE")
|
|
|
|
echo TAG: $TAG
|
|
|
|
RELEASE_DIR="/home/su/projects/golang/linux-command-gpt/binaries-for-upload"
|
|
|
|
body="{\"tag_name\":\"${TAG}\", \"target_commitish\":\"main\", \"name\":\"${TAG}\", \
|
|
\"body\":\"${TAG}\", \"draft\":false, \"prerelease\":false, \"generate_release_notes\":false}"
|
|
|
|
echo BODY: $body
|
|
|
|
response=$(curl -L -X POST \
|
|
-H "Accept: application/vnd.github+json" \
|
|
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
|
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
|
https://api.github.com/repos/direct-dev-ru/binaries/releases \
|
|
-d $body)
|
|
|
|
echo $response
|
|
|
|
# Extract the upload URL from the response
|
|
upload_url=$(echo "$response" | jq -r '.upload_url' | sed "s/{?name,label}//")
|
|
|
|
# Check if the release was created successfully
|
|
if [[ "$response" == *"Not Found"* ]]; then
|
|
echo "Error: Repository not found or invalid token."
|
|
exit 1
|
|
fi
|
|
|
|
# Upload each binary file
|
|
for file in "$RELEASE_DIR"/*; do
|
|
if [[ -f "$file" ]]; then
|
|
filename=$(basename "$file")
|
|
echo "Uploading $filename..."
|
|
response=$(curl -s -X POST -H "Authorization: token $GITHUB_TOKEN" \
|
|
-H "Content-Type: application/octet-stream" \
|
|
"$upload_url?name=$filename" \
|
|
--data-binary @"$file")
|
|
echo $response
|
|
fi
|
|
done
|
|
|
|
echo "All binaries uploaded successfully."
|