Приватность публичного репо + выкл. проверку обновлений + релиз latest
- Убраны все машинно/инфра-специфичные данные из README/CODEMAP/скриптов/ workflows (хосты, IP, домен gitea -> github.server_url). - preconfigure: enable-check-update=N (выкл. проверку обновлений); подсказка «set up your own server» и так гаснет с override-сервером. - CI публикует exe/apk в Gitea Release `latest` (обновляется каждый прогон, стабильная ссылка) + версионный релиз на теге v*. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
name: build-android
|
||||
# Собирает преднастроенный RustDesk APK (arm64-v8a) на раннере `android` (= VM 118, где тулчейн
|
||||
# поднят provision-android.sh). Логику несёт scripts/build-android.sh — тот же путь, что и вручную.
|
||||
# Собирает преднастроенный RustDesk APK (arm64-v8a) на раннере `android` (тулчейн поднят
|
||||
# scripts/provision-android.sh). Всю логику несёт scripts/build-android.sh.
|
||||
#
|
||||
# Секреты репозитория: RUSTDESK_SERVER, RUSTDESK_PUB_KEY, (опц.) RUSTDESK_PRESET_PASSWORD.
|
||||
# Публикация: на теге v* APK прикрепляется к Gitea Release; иначе кладётся в ~/rd-ci-out.
|
||||
# Подпись: без flutter/android/key.properties APK debug-подписан (для теста); свой keystore -> релизная.
|
||||
# Публикация: APK кладётся в Gitea Release `latest` (обновляется каждый прогон), на теге v* — ещё и в версионный.
|
||||
# Подпись: без flutter/android/key.properties APK debug-подписан; свой keystore -> релизная подпись.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@@ -14,9 +14,6 @@ on:
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
env:
|
||||
REGISTRY_HOST: gitea.gusik.tech
|
||||
|
||||
jobs:
|
||||
android:
|
||||
runs-on: android
|
||||
@@ -36,28 +33,28 @@ jobs:
|
||||
RUSTDESK_PRESET_PASSWORD: ${{ secrets.RUSTDESK_PRESET_PASSWORD }}
|
||||
run: bash scripts/build-android.sh
|
||||
|
||||
- name: Attach APK to Gitea Release
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
- name: Publish APK to Gitea Release
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||
GITHUB_REF_NAME: ${{ github.ref_name }}
|
||||
run: |
|
||||
set -e
|
||||
base="https://${REGISTRY_HOST}/api/v1/repos/${GITHUB_REPOSITORY}"
|
||||
base="${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}"
|
||||
hdr="Authorization: token ${GITEA_TOKEN}"
|
||||
case "$GITHUB_REF" in
|
||||
refs/tags/v*) tag="$GITHUB_REF_NAME"; prerelease=false ;;
|
||||
*) tag="latest"; prerelease=true ;;
|
||||
esac
|
||||
curl -sf -X POST "$base/releases" -H "$hdr" -H 'Content-Type: application/json' \
|
||||
-d "{\"tag_name\":\"${GITHUB_REF_NAME}\",\"name\":\"${GITHUB_REF_NAME}\",\"draft\":false,\"prerelease\":false}" || true
|
||||
relid=$(curl -sf "$base/releases/tags/${GITHUB_REF_NAME}" -H "$hdr" | python3 -c 'import sys,json;print(json.load(sys.stdin)["id"])')
|
||||
-d "{\"tag_name\":\"$tag\",\"name\":\"$tag\",\"draft\":false,\"prerelease\":$prerelease,\"target_commitish\":\"master\"}" || true
|
||||
rel=$(curl -sf "$base/releases/tags/$tag" -H "$hdr")
|
||||
relid=$(printf '%s' "$rel" | python3 -c 'import sys,json;print(json.load(sys.stdin)["id"])')
|
||||
[ -n "$relid" ] || { echo "нет release id"; exit 1; }
|
||||
for f in dist/*.apk; do
|
||||
echo "Uploading $(basename "$f")..."
|
||||
curl -sf -X POST "$base/releases/$relid/assets?name=$(basename "$f")" -H "$hdr" -F "attachment=@$f"
|
||||
name=$(basename "$f")
|
||||
# удалить старый ассет с тем же именем (gitea не перезаписывает)
|
||||
aid=$(printf '%s' "$rel" | python3 -c "import sys,json;a=[x['id'] for x in json.load(sys.stdin).get('assets',[]) if x['name']=='$name'];print(a[0] if a else '')")
|
||||
[ -n "$aid" ] && curl -sf -X DELETE "$base/releases/$relid/assets/$aid" -H "$hdr" || true
|
||||
echo "Uploading $name -> release '$tag'..."
|
||||
curl -sf -X POST "$base/releases/$relid/assets?name=$name" -H "$hdr" -F "attachment=@$f"
|
||||
done
|
||||
|
||||
- name: Stash APK (dispatch)
|
||||
if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
|
||||
run: |
|
||||
mkdir -p ~/rd-ci-out
|
||||
cp dist/*.apk ~/rd-ci-out/
|
||||
ls -la ~/rd-ci-out/*.apk
|
||||
echo "Готово: $tag"
|
||||
|
||||
Reference in New Issue
Block a user