From e21610880bfad618d689e866f59bbff1a3ee120d Mon Sep 17 00:00:00 2001 From: LaurensBartelds Date: Fri, 24 Apr 2026 16:49:27 +0200 Subject: [PATCH] Update release workflow: quotes and asset uploads --- .gitea/workflows/release.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 5b355f3..838977a 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -3,7 +3,7 @@ name: Release Pipeline on: push: tags: - - 'v*' + - "v*" jobs: build-and-release: @@ -17,7 +17,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version: "20" - name: Install Frontend Dependencies working-directory: ./frontend @@ -96,9 +96,9 @@ jobs: -H "Content-Type: application/json" \ -d "{\"tag_name\":\"${TAG}\", \"name\":\"Release ${TAG}\", \"body\":\"Automated release for version ${TAG}\", \"draft\":false, \"prerelease\":false}" \ "${SERVER_URL}/api/v1/repos/${REPOSITORY}/releases") - + RELEASE_ID=$(echo "$RELEASE_RESPONSE" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data.get('id', data.get('message', 'ERROR')))") - + if [ "$RELEASE_ID" = "ERROR" ] || [ "$RELEASE_ID" = "release already exists for this tag" ]; then echo "Release might already exist, attempting to find it..." RELEASE_ID=$(curl -s -H "Authorization: token ${GITEA_TOKEN}" \ @@ -110,15 +110,15 @@ jobs: echo "Failed to create or find release: $RELEASE_RESPONSE" exit 1 fi - + echo "Uploading assets to release ID: ${RELEASE_ID}" for FILE in brainwave-amd64.tar.gz brainwave-arm64.tar.gz docker-compose.amd64.yml docker-compose.arm64.yml; do echo "Uploading ${FILE}..." - curl -s -X POST \ + UPLOAD_RESPONSE=$(curl -s -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \ - -H "Content-Type: application/octet-stream" \ - --data-binary "@${FILE}" \ - "${SERVER_URL}/api/v1/repos/${REPOSITORY}/releases/${RELEASE_ID}/assets?name=${FILE}" \ - | grep -q "id" || { echo "Failed to upload ${FILE}"; exit 1; } + -F "attachment=@${FILE}" \ + "${SERVER_URL}/api/v1/repos/${REPOSITORY}/releases/${RELEASE_ID}/assets?name=${FILE}") + echo "${UPLOAD_RESPONSE}" | python3 -c "import sys, json; data=json.load(sys.stdin); exit(0 if 'id' in data else 1)" \ + || { echo "Failed to upload ${FILE}"; echo "Response: ${UPLOAD_RESPONSE}"; exit 1; } done - echo "Release completed successfully!" \ No newline at end of file + echo "Release completed successfully!"