fix(ci): replace non-existent gitea-release-action with Gitea API calls
All checks were successful
CI / Build All Platforms (Tag/Main only) (push) Has been skipped
CI / Type Check & Lint (push) Successful in 7s
CI / Build Test (Current Platform) (push) Successful in 6s
Release / build-and-release (push) Successful in 37s

- Use curl to directly call Gitea API for release creation
- Upload binaries as release assets using API
- Fixes authentication error in CI workflow
This commit is contained in:
2025-10-19 13:38:24 +00:00
parent 37ccbf58fd
commit c3441946cb

View File

@@ -153,21 +153,38 @@ jobs:
cat /tmp/release_notes.md cat /tmp/release_notes.md
- name: Create Gitea Release - name: Create Gitea Release
uses: actions/gitea-release-action@v1 run: |
with: VERSION="${{ steps.version.outputs.version }}"
token: ${{ secrets.GITHUB_TOKEN }} RELEASE_NOTES=$(cat /tmp/release_notes.md)
tag_name: ${{ steps.version.outputs.version }}
name: NUPST ${{ steps.version.outputs.version }} # Create the release
body_path: /tmp/release_notes.md echo "Creating release for $VERSION..."
draft: false RELEASE_ID=$(curl -X POST -s \
prerelease: false -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
files: | -H "Content-Type: application/json" \
dist/binaries/nupst-linux-x64 "https://code.foss.global/api/v1/repos/serve.zone/nupst/releases" \
dist/binaries/nupst-linux-arm64 -d "{
dist/binaries/nupst-macos-x64 \"tag_name\": \"$VERSION\",
dist/binaries/nupst-macos-arm64 \"name\": \"NUPST $VERSION\",
dist/binaries/nupst-windows-x64.exe \"body\": $(jq -Rs . /tmp/release_notes.md),
dist/binaries/SHA256SUMS.txt \"draft\": false,
\"prerelease\": false
}" | jq -r '.id')
echo "Release created with ID: $RELEASE_ID"
# Upload binaries as release assets
for binary in dist/binaries/*; do
filename=$(basename "$binary")
echo "Uploading $filename..."
curl -X POST -s \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Content-Type: application/octet-stream" \
--data-binary "@$binary" \
"https://code.foss.global/api/v1/repos/serve.zone/nupst/releases/$RELEASE_ID/assets?name=$filename"
done
echo "All assets uploaded successfully"
- name: Clean up old releases - name: Clean up old releases
run: | run: |