ci: added upload step

This commit is contained in:
2026-09-03 00:57:26 +03:00
parent 91ea47f63a
commit 0c8eb783a5
+34 -9
View File
@@ -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 }}