Compare commits
3 Commits
e6f705486d
...
v0.0.33
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e0b8f8650b | ||
|
|
3a7b5a0f9a | ||
|
|
999a595b9c |
@@ -103,26 +103,32 @@ jobs:
|
||||
echo "Creating release for tag: $TAG"
|
||||
echo "Repository: $REPO_OWNER/$REPO_NAME"
|
||||
|
||||
# Get or create release
|
||||
RELEASE_JSON=$(curl -s -X GET \
|
||||
-H "Authorization: token $GITEA_TOKEN" \
|
||||
"$GITEA_URL/api/v1/repos/$REPO_OWNER/$REPO_NAME/releases/tags/$TAG" 2>/dev/null || echo "{}")
|
||||
# Create release using Gitea API with wget
|
||||
echo "Creating new release..."
|
||||
|
||||
RELEASE_ID=$(echo "$RELEASE_JSON" | jq -r '.id // empty' 2>/dev/null)
|
||||
# Create JSON payload in a temp file
|
||||
cat > /tmp/release.json << 'PAYLOAD'
|
||||
{"tag_name":"TAG_PLACEHOLDER","name":"Release TAG_PLACEHOLDER","draft":false,"prerelease":false}
|
||||
PAYLOAD
|
||||
sed -i "s/TAG_PLACEHOLDER/$TAG/g" /tmp/release.json
|
||||
|
||||
RESPONSE=$(wget --post-file=/tmp/release.json \
|
||||
--header="Authorization: token $GITEA_TOKEN" \
|
||||
--header="Content-Type: application/json" \
|
||||
-O - -q \
|
||||
"$GITEA_URL/api/v1/repos/$REPO_OWNER/$REPO_NAME/releases")
|
||||
|
||||
# Extract release ID using grep
|
||||
RELEASE_ID=$(echo "$RESPONSE" | grep -o '"id":[0-9]*' | head -1 | grep -o '[0-9]*')
|
||||
|
||||
if [ -z "$RELEASE_ID" ]; then
|
||||
echo "Creating new release..."
|
||||
RELEASE_JSON=$(curl -s -X POST \
|
||||
-H "Authorization: token $GITEA_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"tag_name\":\"$TAG\",\"name\":\"Release $TAG\",\"draft\":false,\"prerelease\":false}" \
|
||||
"$GITEA_URL/api/v1/repos/$REPO_OWNER/$REPO_NAME/releases")
|
||||
RELEASE_ID=$(echo "$RELEASE_JSON" | jq -r '.id')
|
||||
echo "Created release ID: $RELEASE_ID"
|
||||
else
|
||||
echo "Using existing release ID: $RELEASE_ID"
|
||||
echo "Failed to create release. Response:"
|
||||
echo "$RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Created release ID: $RELEASE_ID"
|
||||
|
||||
# Upload all binaries
|
||||
echo "Uploading release artifacts..."
|
||||
for file in bin/*; do
|
||||
@@ -130,15 +136,18 @@ jobs:
|
||||
filename=$(basename "$file")
|
||||
echo " Uploading: $filename"
|
||||
|
||||
curl -s -X POST \
|
||||
-H "Authorization: token $GITEA_TOKEN" \
|
||||
-F "attachment=@$file" \
|
||||
"$GITEA_URL/api/v1/repos/$REPO_OWNER/$REPO_NAME/releases/$RELEASE_ID/assets" > /dev/null
|
||||
# Upload binary file to Gitea API
|
||||
UPLOAD_RESPONSE=$(wget --post-file="$file" \
|
||||
--header="Authorization: token $GITEA_TOKEN" \
|
||||
--header="Content-Type: application/octet-stream" \
|
||||
-O - -q \
|
||||
"$GITEA_URL/api/v1/repos/$REPO_OWNER/$REPO_NAME/releases/$RELEASE_ID/assets?name=$filename" 2>&1)
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
if echo "$UPLOAD_RESPONSE" | grep -q '"id"'; then
|
||||
echo " ✓ $filename uploaded"
|
||||
else
|
||||
echo " ✗ Failed to upload $filename"
|
||||
echo "Response: $UPLOAD_RESPONSE"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user