From febd4f138c3df46d556097fc385862cea543132f Mon Sep 17 00:00:00 2001 From: benya Date: Sun, 18 Jan 2026 22:54:38 +0300 Subject: [PATCH] Some fixes --- .gitea/workflows/release.yml | 62 ++++++++++++------------- fdroid/icon.png => assets/app_icon.png | Bin assets/icon.png | Bin 0 -> 7694 bytes fdroid/config.yml | 10 ---- 4 files changed, 30 insertions(+), 42 deletions(-) rename fdroid/icon.png => assets/app_icon.png (100%) create mode 100644 assets/icon.png delete mode 100644 fdroid/config.yml diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index c96d3d2..9bc143a 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -35,41 +35,39 @@ jobs: id: extract_version run: | VERSION=$(grep -oP 'versionName\s+"[^"]+"' app/build.gradle | head -n1 | cut -d'"' -f2 | tr -d '\r\n') - echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "VERSION=$VERSION" >> $GITHUB_ENV echo "Detected version: $VERSION" # ------------------- Stop if already released ------------------- - name: Stop if version already released id: stop run: | - VERSION=${{ steps.extract_version.outputs.version }} - echo "version=$VERSION" >> $GITHUB_OUTPUT if git show-ref --tags --quiet --verify "refs/tags/$VERSION"; then echo "Version $VERSION already released, stopping job." - echo "continue=false" >> $GITHUB_OUTPUT + echo "CONTINUE=false" >> $GITHUB_ENV else echo "Version $VERSION not released yet, continuing workflow..." - echo "continue=true" >> $GITHUB_OUTPUT + echo "CONTINUE=true" >> $GITHUB_ENV fi # ------------------- Decode keystore ------------------- - name: Decode keystore - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' run: | echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > app/release.keystore - name: Make Gradlew executable - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' run: chmod +x ./gradlew # ------------------- Set up Android SDK ------------------- - name: Set up Android SDK - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' uses: https://git.daemonlord.ru/actions/setup-android@v3 # ------------------- Build Release APK ------------------- - name: Build Release APK - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' env: KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEY_ALIAS: ${{ secrets.KEY_ALIAS }} @@ -78,50 +76,49 @@ jobs: # ------------------- Git tag ------------------- - name: Create git tag - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' run: | - VERSION=${{ steps.stop.outputs.version }} git tag $VERSION git push origin $VERSION # ------------------- Gitea release ------------------- - name: Create Gitea Release - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' uses: https://git.daemonlord.ru/actions/gitea-release-action@v1 with: server_url: https://git.daemonlord.ru repository: ${{ gitea.repository }} token: ${{ secrets.API_TOKEN }} - tag_name: ${{ steps.stop.outputs.version }} - name: Release ${{ steps.stop.outputs.version }} + tag_name: $VERSION + name: Release $VERSION body: | - Android release ${{ steps.stop.outputs.version }} + Android release $VERSION files: | app/build/outputs/apk/release/*.apk # ------------------- Prepare F-Droid Repo ------------------- - name: Prepare F-Droid Repo - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' run: | - LICENSE="MIT" # или ${{ secrets.FDROID_LICENSE }} - - mkdir -p fdroid-repo/repo - mkdir -p fdroid-repo/metadata + LICENSE="MIT" + mkdir -p fdroid-repo/repo fdroid-repo/metadata echo "${{ secrets.FDROID_KEYSTORE_BASE64 }}" | base64 -d > fdroid-repo/keystore.jks cp app/build/outputs/apk/release/*.apk fdroid-repo/repo/ + cp assets/icon.png fdroid-repo/icons/icon.png + cp assets/app_icon.png fdroid-repo/icons/app_icon.png + APPID=$(grep 'applicationId' app/build.gradle | awk -F '"' '{print $2}') + VERSION_CODE=$(echo $VERSION | awk -F. '{ printf("%d%02d%02d", $1,$2,$3 ? $3 : 0); }') for apk in fdroid-repo/repo/*.apk; do FILENAME=$(basename "$apk") SHA256=$(sha256sum "$apk" | awk '{print $1}') - VERSION=${{ steps.stop.outputs.version }} - VERSION_CODE=$(echo $VERSION | awk -F. '{ printf("%d%02d%02d", $1,$2,$3 ? $3 : 0); }') - APPID=$(grep 'applicationId' app/build.gradle | awk -F '"' '{print $2}') SOURCECODE="https://git.daemonlord.ru/${{ gitea.repository }}" printf '%s\n' \ "Id: $APPID" \ "License: $LICENSE" \ "SourceCode: $SOURCECODE" \ + "Icon: icons/app_icon.png" \ "Apk:" \ " - versionCode: $VERSION_CODE" \ " versionName: \"$VERSION\"" \ @@ -132,16 +129,17 @@ jobs: > "fdroid-repo/metadata/$APPID.yml" done + # ------------------- Generate F-Droid config.yml ------------------- - name: Generate F-Droid config.yml - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' run: | REPO_URL="https://fdroid.daemonlord.ru/" REPO_NAME="Anabasis F-Droid Repo" REPO_DESC="Automatically generated F-Droid repository" - GPG_KEY_ALIAS="${{ secrets.FDROID_GPG_KEY_ALIAS }}" # если используете подпись репо - GPG_KEYSTORE_PATH="fdroid-repo/keystore.jks" # путь к keystore или base64 + GPG_KEY_ALIAS="${{ secrets.FDROID_GPG_KEY_ALIAS }}" + GPG_KEYSTORE_PATH="fdroid-repo/keystore.jks" GPG_KEY_PASSWORD="${{ secrets.FDROID_KEY_PASSWORD }}" - + printf "repo_url: %s\nrepo_name: %s\nrepo_description: %s\nrepo_keyalias: %s\nkeystore: %s\nkeypass: %s\n" \ "$REPO_URL" \ "$REPO_NAME" \ @@ -151,16 +149,16 @@ jobs: "$GPG_KEY_PASSWORD" \ > fdroid-repo/config.yml - -# ------------------- Generate F-Droid Index ------------------- + # ------------------- Generate F-Droid Index ------------------- - name: Generate F-Droid Index - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' run: | - docker run --rm -v $PWD/fdroid-repo:/home/fdroid registry.gitlab.com/fdroid/docker-executable-fdroidserver:master update --server-only + docker run --rm -v $PWD/fdroid-repo:/home/fdroid \ + registry.gitlab.com/fdroid/docker-executable-fdroidserver:master update --nosign --clean # ------------------- Deploy F-Droid Repo via SCP ------------------- - name: Deploy F-Droid Repo via SCP - if: steps.stop.outputs.continue == 'true' + if: env.CONTINUE == 'true' env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} SCP_SERVER: ${{ secrets.SCP_SERVER }} diff --git a/fdroid/icon.png b/assets/app_icon.png similarity index 100% rename from fdroid/icon.png rename to assets/app_icon.png diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..41bcf7640003c957e6c9863af3095fece3c52b17 GIT binary patch literal 7694 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 N*C8A3eHHny{{yj2@gV>J literal 0 HcmV?d00001 diff --git a/fdroid/config.yml b/fdroid/config.yml deleted file mode 100644 index bebe70a..0000000 --- a/fdroid/config.yml +++ /dev/null @@ -1,10 +0,0 @@ -repo_name: Anabasis F-Droid Repo -repo_url: https://git.daemonlord.ru/fdroid/repo - -keystore: "" -keystorepass: "" -keyalias: "" -keypass: "" - -repo_icon: icon.png -archive_older: 0