workflow: improve Gitea release process with additional environment variables and error handling
This commit is contained in:
		
							
								
								
									
										31
									
								
								.github/workflows/gitea-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								.github/workflows/gitea-release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -75,6 +75,8 @@ jobs: | |||||||
|       env: |       env: | ||||||
|         GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} |         GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} | ||||||
|         GITEA_API_URL: ${{ secrets.GITEA_API_URL }} |         GITEA_API_URL: ${{ secrets.GITEA_API_URL }} | ||||||
|  |         GITEA_REPO: ${{ secrets.GITEA_REPO }} | ||||||
|  |         GITEA_OWNER: ${{ secrets.GITEA_OWNER }} | ||||||
|       run: | |       run: | | ||||||
|         VERSION=${{ steps.get_version.outputs.VERSION }} |         VERSION=${{ steps.get_version.outputs.VERSION }} | ||||||
|         cd .pio/build/esp32dev |         cd .pio/build/esp32dev | ||||||
| @@ -101,21 +103,38 @@ jobs: | |||||||
|           \"body\": \"${{ steps.changelog.outputs.CHANGES }}\" |           \"body\": \"${{ steps.changelog.outputs.CHANGES }}\" | ||||||
|         }" |         }" | ||||||
|  |  | ||||||
|         # Create release |         # Create release and capture HTTP status | ||||||
|         RESPONSE=$(curl -X POST \ |         RESPONSE=$(curl -s -w "%{http_code}" -X POST \ | ||||||
|           -H "Authorization: token ${GITEA_TOKEN}" \ |           -H "Authorization: token ${GITEA_TOKEN}" \ | ||||||
|           -H "Content-Type: application/json" \ |           -H "Content-Type: application/json" \ | ||||||
|           -d "$RELEASE_DATA" \ |           -d "$RELEASE_DATA" \ | ||||||
|           "${GITEA_API_URL}/repos/owner/repo/releases") |           "${GITEA_API_URL}/api/v1/repos/${GITEA_OWNER}/${GITEA_REPO}/releases") | ||||||
|  |          | ||||||
|  |         HTTP_STATUS=${RESPONSE: -3} | ||||||
|  |         RESPONSE_BODY=${RESPONSE:0:-3} | ||||||
|  |  | ||||||
|  |         if [ "$HTTP_STATUS" != "201" ]; then | ||||||
|  |           echo "Fehler beim Erstellen des Releases: $RESPONSE_BODY" | ||||||
|  |           exit 1 | ||||||
|  |         fi | ||||||
|  |  | ||||||
|  |         # Extract release ID from response | ||||||
|  |         RELEASE_ID=$(echo "$RESPONSE_BODY" | jq -r .id) | ||||||
|  |          | ||||||
|         # Upload assets |         # Upload assets | ||||||
|         RELEASE_ID=$(echo $RESPONSE | jq -r .id) |  | ||||||
|         for file in upgrade_filaman_firmware_v${VERSION}.bin upgrade_filaman_website_v${VERSION}.bin filaman_full_${VERSION}.bin; do |         for file in upgrade_filaman_firmware_v${VERSION}.bin upgrade_filaman_website_v${VERSION}.bin filaman_full_${VERSION}.bin; do | ||||||
|           if [ -f "$file" ]; then |           if [ -f "$file" ]; then | ||||||
|             curl -X POST \ |             echo "Uploading $file..." | ||||||
|  |             UPLOAD_RESPONSE=$(curl -s -w "%{http_code}" -X POST \ | ||||||
|               -H "Authorization: token ${GITEA_TOKEN}" \ |               -H "Authorization: token ${GITEA_TOKEN}" \ | ||||||
|               -H "Content-Type: application/octet-stream" \ |               -H "Content-Type: application/octet-stream" \ | ||||||
|               --data-binary @"$file" \ |               --data-binary @"$file" \ | ||||||
|               "${GITEA_API_URL}/repos/owner/repo/releases/${RELEASE_ID}/assets?name=${file}" |               "${GITEA_API_URL}/api/v1/repos/${GITEA_OWNER}/${GITEA_REPO}/releases/${RELEASE_ID}/assets?name=${file}") | ||||||
|  |              | ||||||
|  |             UPLOAD_STATUS=${UPLOAD_RESPONSE: -3} | ||||||
|  |             if [ "$UPLOAD_STATUS" != "201" ]; then | ||||||
|  |               echo "Fehler beim Upload von $file" | ||||||
|  |               exit 1 | ||||||
|  |             fi | ||||||
|           fi |           fi | ||||||
|         done |         done | ||||||
		Reference in New Issue
	
	Block a user