Fix GitHub API asset download for private repositories

This commit is contained in:
2025-06-14 17:28:31 +09:00
parent e033e8cc71
commit 11f1b57a2d

View File

@@ -45,10 +45,33 @@ jobs:
# Download if version is different or binary doesn't exist
if [ "$CURRENT_VERSION" != "${LATEST_VERSION#v}" ]; then
echo "Downloading ailog $LATEST_VERSION..."
curl -sL -H "Authorization: Bearer $GITHUB_TOKEN" \
https://github.com/${{ github.repository }}/releases/download/$LATEST_VERSION/ailog-linux-x86_64.tar.gz | tar -xzf -
# Get download URL for the asset
DOWNLOAD_URL=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \
https://api.github.com/repos/${{ github.repository }}/releases/tags/$LATEST_VERSION | \
jq -r '.assets[] | select(.name == "ailog-linux-x86_64.tar.gz") | .url')
if [ -z "$DOWNLOAD_URL" ] || [ "$DOWNLOAD_URL" = "null" ]; then
echo "Error: Could not find download URL for ailog-linux-x86_64.tar.gz"
exit 1
fi
# Download using GitHub API with Accept header
echo "Downloading from: $DOWNLOAD_URL"
curl -L -H "Authorization: Bearer $GITHUB_TOKEN" \
-H "Accept: application/octet-stream" \
"$DOWNLOAD_URL" -o ailog-linux-x86_64.tar.gz
# Check if download was successful
if [ ! -f "ailog-linux-x86_64.tar.gz" ] || [ ! -s "ailog-linux-x86_64.tar.gz" ]; then
echo "Error: Download failed"
exit 1
fi
# Extract the binary
tar -xzf ailog-linux-x86_64.tar.gz
mv ailog ./bin/ailog
chmod +x ./bin/ailog
rm ailog-linux-x86_64.tar.gz
echo "Updated to version: $(./bin/ailog --version 2>/dev/null)"
else
echo "Binary is up to date"