f0708a30ac
- .gitea/workflows/ci.yml: push/PR → testDebugUnitTest+lintRelease+assembleDebug; тег v* → подписанный assembleRelease + архив исходников в Gitea Release. Gitea 1.26.1 поддерживает Actions. Self-hosted раннер (метка f7-android), т.к. проект тяжёлый (WebRTC) и нужен тёплый Gradle-кэш. - scripts/package-source.sh: GPL corresponding source (§6) — архив всего дерева вкл. vendor talk-android (GPL), LICENSE, NOTICE. Проверен: 6.7 МБ, 2353 файла. Закрывает п.4c, работает и вручную до появления раннера. - docs/CI.md: пайплайн, регистрация раннера, secrets. НЕ активно до регистрации раннера на инфре B (нужен Gitea-админ для токена).
25 lines
1.3 KiB
Bash
Executable File
25 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# GPL corresponding source: архив ВСЕГО исходного кода распространяемой сборки
|
|
# (включая vendor/talk-android — он под GPL). Обязательство GPLv3 §6: к каждой
|
|
# распространяемой сборке публиковать соответствующий исходник.
|
|
#
|
|
# Использование: scripts/package-source.sh [OUT_DIR] (по умолчанию ./dist)
|
|
set -euo pipefail
|
|
|
|
OUT_DIR="${1:-dist}"
|
|
mkdir -p "$OUT_DIR"
|
|
|
|
# версия из app/build.gradle (versionName/versionCode)
|
|
VNAME=$(grep -oE "versionName '[^']+'" app/build.gradle | grep -oE "[0-9][0-9.]*" | head -1)
|
|
VCODE=$(grep -oE "versionCode [0-9]+" app/build.gradle | grep -oE "[0-9]+" | head -1)
|
|
REV=$(git rev-parse --short HEAD)
|
|
NAME="f7cloud-mobile-v${VNAME:-0}-${VCODE:-0}-${REV}-source.tar.gz"
|
|
|
|
# git archive включает всё отслеживаемое дерево (в т.ч. vendor/talk-android, LICENSE, NOTICE.md).
|
|
# Секреты в дерево не входят (google-services.json/keystore в .gitignore).
|
|
git archive --format=tar.gz --prefix="f7cloud-mobile-${VNAME}/" -o "$OUT_DIR/$NAME" HEAD
|
|
|
|
echo "Corresponding source: $OUT_DIR/$NAME"
|
|
echo " размер: $(du -h "$OUT_DIR/$NAME" | cut -f1)"
|
|
echo " включает vendor/talk-android (GPL), LICENSE, NOTICE.md"
|