diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 94db45e..ef9480f 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -140,14 +140,48 @@ jobs: echo "Release notes extracted" - name: Create Gitea Release - uses: actions/gitea-release-action@v1 - with: - token: ${{ secrets.GITEA_TOKEN }} - tag_name: ${{ github.ref_name }} - release_name: "Release ${{ steps.version.outputs.version }}" - body_path: release_notes.txt - draft: false - prerelease: ${{ contains(github.ref_name, '-') }} - files: | - releases/wp-fedistream-${{ steps.version.outputs.version }}.zip - releases/wp-fedistream-${{ steps.version.outputs.version }}.zip.sha256 + env: + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + run: | + VERSION=${{ steps.version.outputs.version }} + TAG_NAME=${{ github.ref_name }} + PRERELEASE="false" + if [[ "$TAG_NAME" == *-* ]]; then + PRERELEASE="true" + fi + + # Read release notes + BODY=$(cat release_notes.txt) + + # Create release via Gitea API + RELEASE_RESPONSE=$(curl -s -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: application/json" \ + -d "{\"tag_name\": \"${TAG_NAME}\", \"name\": \"Release ${VERSION}\", \"body\": $(echo "$BODY" | jq -Rs .), \"draft\": false, \"prerelease\": ${PRERELEASE}}" \ + "${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}/releases") + + RELEASE_ID=$(echo "$RELEASE_RESPONSE" | jq -r '.id') + + if [ "$RELEASE_ID" == "null" ] || [ -z "$RELEASE_ID" ]; then + echo "Failed to create release:" + echo "$RELEASE_RESPONSE" + exit 1 + fi + + echo "Created release ID: $RELEASE_ID" + + # Upload attachments + for file in "releases/wp-fedistream-${VERSION}.zip" "releases/wp-fedistream-${VERSION}.zip.sha256"; do + if [ -f "$file" ]; then + FILENAME=$(basename "$file") + echo "Uploading $FILENAME..." + curl -s -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: application/octet-stream" \ + --data-binary "@$file" \ + "${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets?name=${FILENAME}" + echo "Uploaded $FILENAME" + fi + done + + echo "Release created successfully: ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/releases/tag/${TAG_NAME}"