From 3b08f156d59a0c027772e4ee357a8ec5f572e02b Mon Sep 17 00:00:00 2001 From: littlecodedragon <253116839+littlecodedragon@users.noreply.github.com> Date: Mon, 27 Apr 2026 21:08:47 +0200 Subject: [PATCH] Add Obtainium-friendly release asset aliases. Create stable universal and arm64 APK alias names and improve release display version so repo URL import works more reliably in Obtainium. --- .forgejo/workflows/build_release.yml | 36 ++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build_release.yml b/.forgejo/workflows/build_release.yml index bacb31391..4c3c0b044 100755 --- a/.forgejo/workflows/build_release.yml +++ b/.forgejo/workflows/build_release.yml @@ -71,9 +71,11 @@ jobs: set -euo pipefail version_tag="${GITHUB_REF_NAME:-${GITHUB_REF#refs/tags/}}" + version_display="$(printf '%s' "$version_tag" | sed -E 's/^v//' )" previous_tag="$(git tag --list 'v*' --sort=-version:refname | grep -Fxv "$version_tag" | head -n 1 || true)" echo "VERSION_TAG=$version_tag" >> "$GITHUB_OUTPUT" + echo "VERSION_DISPLAY=$version_display" >> "$GITHUB_OUTPUT" echo "PREV_TAG_NAME=$previous_tag" >> "$GITHUB_OUTPUT" if [ -n "$previous_tag" ]; then @@ -178,12 +180,41 @@ jobs: "${apksigner_bin}" verify "${signed_apk}" done + - name: Create Obtainium-friendly aliases + shell: bash + run: | + set -euo pipefail + + alias_asset() { + src="$1" + dst="$2" + if [ -e "$src" ]; then + cp -f "$src" "$dst" + fi + } + + # Prefer signed APKs; fallback to unsigned when signing is not configured. + alias_asset "$(ls -1t Komikku-arm64-v8a-*.apk 2>/dev/null | head -n1)" "Komikku-arm64-v8a.apk" + alias_asset "$(ls -1t Komikku-arm64-v8a-*-unsigned.apk 2>/dev/null | head -n1)" "Komikku-arm64-v8a.apk" + + for candidate in Komikku-*.apk; do + case "$candidate" in + *arm64-v8a*|*armeabi-v7a*|*x86_64*|*x86*) + ;; + *) + alias_asset "$candidate" "Komikku-universal.apk" + break + ;; + esac + done + - name: Create or update release id: release shell: bash env: FORGEJO_TOKEN: ${{ secrets.GITHUB_TOKEN }} VERSION_TAG: ${{ steps.prepare.outputs.VERSION_TAG }} + VERSION_DISPLAY: ${{ steps.prepare.outputs.VERSION_DISPLAY }} PREV_TAG_NAME: ${{ steps.prepare.outputs.PREV_TAG_NAME }} COMMIT_LOGS: ${{ steps.prepare.outputs.COMMIT_LOGS }} REPO_URL: ${{ github.server_url }}/${{ github.repository }} @@ -201,6 +232,7 @@ jobs: import textwrap version_tag = os.environ["VERSION_TAG"] + version_display = os.environ.get("VERSION_DISPLAY", version_tag) previous_tag = os.environ.get("PREV_TAG_NAME", "").strip() commit_logs = os.environ.get("COMMIT_LOGS", "").strip() or "- Initial release" repo_url = os.environ["REPO_URL"] @@ -233,7 +265,7 @@ jobs: > [!TIP] > - > ### If you are unsure which version to download then go with `Komikku-{version_tag}.apk` + > ### If you are unsure which version to download then go with `Komikku-universal.apk` """, ) @@ -241,7 +273,7 @@ jobs: json.dumps( { "tag_name": version_tag, - "name": f"Komikku {version_tag}", + "name": f"Komikku {version_display}", "body": body, "draft": True, "prerelease": False,