From b6df0be86562daa1f6fdacae274053e692c4fd63 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 9 Oct 2025 12:59:23 -0400 Subject: [PATCH] v0.6.0 - Fixed binary upload in release script - now shows upload errors and handles failures properly --- ...f3a69f03302f324bb0974cb46a5004203ff.db-shm | Bin 32768 -> 0 bytes ...f3a69f03302f324bb0974cb46a5004203ff.db-wal | Bin 486192 -> 0 bytes build_and_push.sh | 105 ++++++++++++++---- 3 files changed, 82 insertions(+), 23 deletions(-) delete mode 100644 017990681c9cd0fa0ab0fb90c6f51f3a69f03302f324bb0974cb46a5004203ff.db-shm delete mode 100644 017990681c9cd0fa0ab0fb90c6f51f3a69f03302f324bb0974cb46a5004203ff.db-wal diff --git a/017990681c9cd0fa0ab0fb90c6f51f3a69f03302f324bb0974cb46a5004203ff.db-shm b/017990681c9cd0fa0ab0fb90c6f51f3a69f03302f324bb0974cb46a5004203ff.db-shm deleted file mode 100644 index 8ad428b018f8c67fc7d0f13acefa731023b66052..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 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

S6%kB(rU0v7itfQ~=`WFt>PM*tlGbOg{5 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 Jw~TJ&{~vbIr9%J! diff --git a/build_and_push.sh b/build_and_push.sh index afe8f01..8eeefac 100755 --- a/build_and_push.sh +++ b/build_and_push.sh @@ -319,12 +319,18 @@ create_gitea_release() { -H "Content-Type: application/json" \ -d "{\"tag_name\": \"$NEW_VERSION\", \"name\": \"$NEW_VERSION\", \"body\": \"$COMMIT_MESSAGE\"}") + local upload_result=false + if echo "$response" | grep -q '"id"'; then print_success "Created release $NEW_VERSION" - upload_release_binaries "$api_url" "$token" + if upload_release_binaries "$api_url" "$token"; then + upload_result=true + fi elif echo "$response" | grep -q "already exists"; then print_warning "Release $NEW_VERSION already exists" - upload_release_binaries "$api_url" "$token" + if upload_release_binaries "$api_url" "$token"; then + upload_result=true + fi else print_error "Failed to create release $NEW_VERSION" print_error "Response: $response" @@ -334,18 +340,29 @@ create_gitea_release() { local check_response=$(curl -s -H "Authorization: token $token" "$api_url/releases/tags/$NEW_VERSION") if echo "$check_response" | grep -q '"id"'; then print_warning "Release exists but creation response was unexpected" - upload_release_binaries "$api_url" "$token" + if upload_release_binaries "$api_url" "$token"; then + upload_result=true + fi else print_error "Release does not exist and creation failed" return 1 fi fi + + # Return based on upload success + if [[ "$upload_result" == true ]]; then + return 0 + else + print_error "Binary upload failed" + return 1 + fi } # Function to upload release binaries upload_release_binaries() { local api_url="$1" local token="$2" + local upload_success=true # Get release ID with more robust parsing print_status "Getting release ID for $NEW_VERSION..." @@ -367,37 +384,75 @@ upload_release_binaries() { # Upload x86_64 binary if [[ -f "c-relay-x86_64" ]]; then print_status "Uploading x86_64 binary..." - if curl -s -X POST "$api_url/releases/$release_id/assets" \ + local upload_response=$(curl -s -w "\n%{http_code}" -X POST "$api_url/releases/$release_id/assets" \ -H "Authorization: token $token" \ - -F "attachment=@c-relay-x86_64;filename=c-relay-${NEW_VERSION}-linux-x86_64" > /dev/null; then - print_success "Uploaded x86_64 binary" + -F "attachment=@c-relay-x86_64;filename=c-relay-${NEW_VERSION}-linux-x86_64") + + local http_code=$(echo "$upload_response" | tail -n1) + local response_body=$(echo "$upload_response" | head -n -1) + + if [[ "$http_code" == "201" ]]; then + print_success "Uploaded x86_64 binary successfully" else - print_warning "Failed to upload x86_64 binary" + print_error "Failed to upload x86_64 binary (HTTP $http_code)" + print_error "Response: $response_body" + upload_success=false fi + else + print_warning "x86_64 binary not found: c-relay-x86_64" fi # Upload ARM64 binary if [[ -f "c-relay-arm64" ]]; then print_status "Uploading ARM64 binary..." - if curl -s -X POST "$api_url/releases/$release_id/assets" \ + local upload_response=$(curl -s -w "\n%{http_code}" -X POST "$api_url/releases/$release_id/assets" \ -H "Authorization: token $token" \ - -F "attachment=@c-relay-arm64;filename=c-relay-${NEW_VERSION}-linux-arm64" > /dev/null; then - print_success "Uploaded ARM64 binary" + -F "attachment=@c-relay-arm64;filename=c-relay-${NEW_VERSION}-linux-arm64") + + local http_code=$(echo "$upload_response" | tail -n1) + local response_body=$(echo "$upload_response" | head -n -1) + + if [[ "$http_code" == "201" ]]; then + print_success "Uploaded ARM64 binary successfully" else - print_warning "Failed to upload ARM64 binary" + print_error "Failed to upload ARM64 binary (HTTP $http_code)" + print_error "Response: $response_body" + upload_success=false fi + else + print_warning "ARM64 binary not found: c-relay-arm64" + fi + + # Return success/failure status + if [[ "$upload_success" == true ]]; then + return 0 + else + return 1 fi } # Function to clean up release binaries cleanup_release_binaries() { - if [[ -f "c-relay-x86_64" ]]; then - rm -f c-relay-x86_64 - print_status "Cleaned up x86_64 binary" - fi - if [[ -f "c-relay-arm64" ]]; then - rm -f c-relay-arm64 - print_status "Cleaned up ARM64 binary" + local force_cleanup="$1" # Optional parameter to force cleanup even on failure + + if [[ "$force_cleanup" == "force" ]] || [[ "$upload_success" == true ]]; then + if [[ -f "c-relay-x86_64" ]]; then + rm -f c-relay-x86_64 + print_status "Cleaned up x86_64 binary" + fi + if [[ -f "c-relay-arm64" ]]; then + rm -f c-relay-arm64 + print_status "Cleaned up ARM64 binary" + fi + else + print_warning "Keeping binary files due to upload failures" + print_status "Files available for manual upload:" + if [[ -f "c-relay-x86_64" ]]; then + print_status " - c-relay-x86_64" + fi + if [[ -f "c-relay-arm64" ]]; then + print_status " - c-relay-arm64" + fi fi } @@ -433,14 +488,18 @@ main() { git_commit_and_push_no_tag # Create Gitea release with binaries - create_gitea_release + if create_gitea_release; then + print_success "Release $NEW_VERSION completed successfully!" + print_status "Binaries uploaded to Gitea release" + upload_success=true + else + print_error "Release creation or binary upload failed" + upload_success=false + fi - # Cleanup + # Cleanup (only if upload was successful) cleanup_release_binaries - print_success "Release $NEW_VERSION completed successfully!" - print_status "Binaries uploaded to Gitea release" - else print_status "=== DEFAULT MODE ==="