From 0c8eb783a5480d2141abc3ee712720b291762862 Mon Sep 17 00:00:00 2001 From: Agzamus Date: Thu, 3 Sep 2026 00:57:26 +0300 Subject: [PATCH] ci: added upload step --- .gitea/workflows/release.yml | 43 ++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index a371dc0..2235fa3 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -3,6 +3,9 @@ # ANDROID_KEYSTORE_PASSWORD # ANDROID_KEY_ALIAS # ANDROID_KEY_PASSWORD +# +# Релиз публикуется через официальный Gitea REST API с использованием +# встроенного токена GITEA_TOKEN (право releases: write задано ниже). name: Release APK @@ -18,6 +21,9 @@ on: jobs: build: runs-on: ubuntu-latest + permissions: + contents: read + releases: write steps: - name: Checkout @@ -80,17 +86,36 @@ jobs: echo "apk_path=$APK" >> "$GITHUB_OUTPUT" echo "APK path: $APK" + - name: Create Gitea Release + id: create_release + run: | + API="${{ gitea.server_url }}/api/v1/repos/${{ github.repository }}/releases" + BODY=$(jq -n \ + --arg tag "${{ steps.version.outputs.version_tag }}" \ + --arg name "${{ steps.version.outputs.version_name }}" \ + --arg notes "${{ github.event.inputs.release_notes }}" \ + '{tag_name: $tag, name: $name, body: $notes}') + RESP=$(curl -sS -X POST "$API" \ + -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \ + -H "Content-Type: application/json" \ + -d "$BODY") + echo "$RESP" | jq -e .id >/dev/null || { echo "Ошибка создания релиза:"; echo "$RESP"; exit 1; } + RELEASE_ID=$(echo "$RESP" | jq -r .id) + echo "release_id=$RELEASE_ID" >> "$GITHUB_OUTPUT" + echo "Создан релиз ${{ steps.version.outputs.version_name }} (id=$RELEASE_ID)" + + - name: Upload APK as release asset + run: | + ASSET_API="${{ gitea.server_url }}/api/v1/repos/${{ github.repository }}/releases/${{ steps.create_release.outputs.release_id }}/assets" + curl -sS -X POST "$ASSET_API?name=${{ steps.version.outputs.version_name }}.apk" \ + -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \ + -H "Content-Type: application/vnd.android.package-archive" \ + --data-binary "@${{ steps.apk.outputs.apk_path }}" + echo + echo "APK загружен в релиз." + - name: Upload APK as artifact uses: actions/upload-artifact@v4 with: name: vyatsu-schedule-${{ steps.version.outputs.version_name }} path: ${{ steps.apk.outputs.apk_path }} - - - name: Create Gitea Release - uses: gitea/actions/release-action@v1 - with: - body: ${{ github.event.inputs.release_notes }} - files: ${{ steps.apk.outputs.apk_path }} - title: ${{ steps.version.outputs.version_name }} - tag: ${{ steps.version.outputs.version_tag }} - token: ${{ secrets.GITHUB_TOKEN }}