feat: 使用 Gitea API 直接创建 Release(替代 actions/create-release)
Android Build / build (push) Successful in 1m2s
Android Release / release (push) Successful in 1m21s

This commit is contained in:
amos
2026-06-02 13:04:11 +08:00
parent 3b401318e8
commit e9d4587428
+34 -25
View File
@@ -56,34 +56,43 @@ jobs:
VERSION=${GITHUB_REF#refs/tags/} VERSION=${GITHUB_REF#refs/tags/}
cp app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/app-${VERSION}-unsigned.apk cp app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/app-${VERSION}-unsigned.apk
echo "APK_NAME=app-${VERSION}-unsigned.apk" >> $GITHUB_ENV echo "APK_NAME=app-${VERSION}-unsigned.apk" >> $GITHUB_ENV
echo "APK_VERSION=$VERSION" >> $GITHUB_ENV
echo "⚠️ 注意:生成的是未签名 APK,仅用于测试。生产环境请配置签名。" echo "⚠️ 注意:生成的是未签名 APK,仅用于测试。生产环境请配置签名。"
- name: Create Gitea Release - name: Create Gitea Release
id: create_release id: create_release
uses: actions/create-release@v1 run: |
env: VERSION=${GITHUB_REF#refs/tags/}
ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }} echo "Creating release: $VERSION"
with:
tag_name: ${{ github.ref }} # 使用 Gitea API 创建 Release
release_name: Release ${{ github.ref }} RESPONSE=$(curl -s -X POST "https://gitea.kg8.net/api/v1/repos/amos/android-ci-demo/releases" \
draft: false -H "Authorization: token ${{ secrets.ACTIONS_TOKEN }}" \
prerelease: false -H "Content-Type: application/json" \
body: | -d "{
## 自动发布的 Release \"tag_name\": \"$VERSION\",
\"name\": \"Release $VERSION\",
- 版本:${{ github.ref }} \"body\": \"## 自动发布的 Release\n\n- 版本:$VERSION\n- 提交:${{ github.sha }}\n\n### 变更\n${{ github.event.head_commit.message }}\",
- 提交:${{ github.sha }} \"draft\": false,
- 编译时间:${{ github.event.head_commit.timestamp }} \"prerelease\": false
}")
### 变更日志
${{ github.event.head_commit.message }} echo "Response: $RESPONSE"
# 提取 upload_url
UPLOAD_URL=$(echo $RESPONSE | grep -o '"upload_url":"[^"]*"' | cut -d'"' -f4)
echo "Upload URL: $UPLOAD_URL"
echo "UPLOAD_URL=$UPLOAD_URL" >> $GITHUB_ENV
- name: Upload Release APK - name: Upload Release APK
uses: actions/upload-release-asset@v1 run: |
env: echo "Uploading APK: ${{ env.APK_NAME }}"
ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }} echo "Upload URL: ${{ env.UPLOAD_URL }}"
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # 上传 APK 到 Release
asset_path: app/build/outputs/apk/release/${{ env.APK_NAME }} curl -s -X POST "${{ env.UPLOAD_URL }}?name=${{ env.APK_NAME }}" \
asset_name: ${{ env.APK_NAME }} -H "Authorization: token ${{ secrets.ACTIONS_TOKEN }}" \
asset_content_type: application/vnd.android.package-archive -H "Content-Type: application/vnd.android.package-archive" \
--data-binary "@app/build/outputs/apk/release/${{ env.APK_NAME }}"
echo "✅ APK uploaded successfully!"