This commit is contained in:
@@ -30,12 +30,6 @@ jobs:
|
||||
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
|
||||
apt-get install -y nodejs
|
||||
|
||||
- name: Install F-Droid Server
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y fdroidserver
|
||||
|
||||
|
||||
# ------------------- Extract version -------------------
|
||||
- name: Extract versionName
|
||||
id: extract_version
|
||||
@@ -81,97 +75,6 @@ jobs:
|
||||
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
|
||||
run: ./gradlew --no-daemon assembleRelease
|
||||
|
||||
# ------------------- Prepare F-Droid Repo -------------------
|
||||
- name: Prepare F-Droid Repo
|
||||
if: env.CONTINUE == 'true'
|
||||
run: |
|
||||
LICENSE="MIT"
|
||||
AUTHOR="Alex Denisov"
|
||||
ICON="repo/icons/app_icon.png"
|
||||
mkdir -p fdroid-repo/repo fdroid-repo/metadata fdroid-repo/repo/icons
|
||||
|
||||
# Декодируем keystore
|
||||
echo "${{ secrets.FDROID_KEYSTORE_BASE64 }}" | base64 -d > fdroid-repo/keystore.p12
|
||||
|
||||
# Получаем APPID и версию
|
||||
APPID=$(grep 'applicationId' app/build.gradle | awk -F '"' '{print $2}')
|
||||
VERSION=${{ steps.extract_version.outputs.version }}
|
||||
VERSION_CODE=$(echo $VERSION | awk -F. '{ printf("%d%02d%02d", $1,$2,$3 ? $3 : 0); }')
|
||||
|
||||
# Копируем APK и иконки
|
||||
for apk in app/build/outputs/apk/release/*.apk; do
|
||||
NEW_NAME="${APPID}_${VERSION}.apk"
|
||||
cp "$apk" "fdroid-repo/repo/$NEW_NAME"
|
||||
done
|
||||
cp assets/icon.png fdroid-repo/repo/icons/icon.png
|
||||
cp assets/app_icon.png fdroid-repo/repo/icons/app_icon.png
|
||||
|
||||
# Генерируем metadata
|
||||
for apk in fdroid-repo/repo/*.apk; do
|
||||
FILENAME=$(basename "$apk")
|
||||
SHA256=$(sha256sum "$apk" | awk '{print $1}')
|
||||
|
||||
printf '%s\n' \
|
||||
"License: $LICENSE" \
|
||||
"AuthorName: $AUTHOR" \
|
||||
"Categories:" \
|
||||
" - Internet" \
|
||||
"SourceCode: https://git.daemonlord.ru/benya/AnabasisChatManager-android" \
|
||||
"" \
|
||||
"Builds:" \
|
||||
" - versionName: $VERSION" \
|
||||
" versionCode: $VERSION_CODE" \
|
||||
" path: $FILENAME" \
|
||||
" originalFileName: $FILENAME" \
|
||||
" hashes:" \
|
||||
" sha256: $SHA256" \
|
||||
"" \
|
||||
"CurrentVersion: $VERSION" \
|
||||
"CurrentVersionCode: $VERSION_CODE" \
|
||||
"AutoUpdateMode: Version %v" \
|
||||
"UpdateCheckMode: Tags" \
|
||||
> "fdroid-repo/metadata/$APPID.yml"
|
||||
done
|
||||
|
||||
# ------------------- Generate F-Droid config.yml -------------------
|
||||
- name: Generate F-Droid config.yml
|
||||
if: env.CONTINUE == 'true'
|
||||
run: |
|
||||
KEY_ALIAS="${{ secrets.FDROID_GPG_KEY_ALIAS }}"
|
||||
KEY_PASS="${{ secrets.FDROID_KEY_PASSWORD }}"
|
||||
REPO_URL="https://fdroid.daemonlord.ru/fdroid/repo"
|
||||
REPO_NAME="Anabasis F-Droid Repo"
|
||||
REPO_DESC="Automatically generated F-Droid repository"
|
||||
REPO_ICON="repo/icons/icon.png"
|
||||
|
||||
printf '%s\n' \
|
||||
"repo_url: $REPO_URL" \
|
||||
"repo_name: $REPO_NAME" \
|
||||
"repo_description: $REPO_DESC" \
|
||||
"repo_keyalias: $KEY_ALIAS" \
|
||||
"keystore: keystore.p12" \
|
||||
"keystorepass: $KEY_PASS" \
|
||||
"keypass: $KEY_PASS" \
|
||||
"repo_icon: $REPO_ICON" \
|
||||
> fdroid-repo/config.yml
|
||||
|
||||
chmod 600 fdroid-repo/config.yml
|
||||
|
||||
# ------------------- Generate F-Droid Index -------------------
|
||||
- name: Generate F-Droid Index
|
||||
if: env.CONTINUE == 'true'
|
||||
run: |
|
||||
echo "=== DEBUG fdroid-repo ==="
|
||||
ls -la fdroid-repo
|
||||
ls -la fdroid-repo/repo
|
||||
ls -la fdroid-repo/repo/icons
|
||||
echo "=== config.yml ==="
|
||||
cat fdroid-repo/config.yml
|
||||
cd fdroid-repo
|
||||
fdroid update --clean --verbose
|
||||
cd ..
|
||||
|
||||
|
||||
# ------------------- Git tag -------------------
|
||||
- name: Create git tag
|
||||
if: env.CONTINUE == 'true'
|
||||
|
||||
Reference in New Issue
Block a user