Improve release asset naming and notes for Obtainium.

Normalize APK filenames to stable ABI/version patterns and add clearer release notes with a download guide so clients like Obtainium can reliably match assets.
This commit is contained in:
littlecodedragon 2026-05-09 12:40:01 +02:00
parent b26a537d55
commit de5e0a32d3

View file

@ -177,15 +177,17 @@ jobs:
set -euo pipefail
version_tag="${{ steps.prepare.outputs.VERSION_TAG }}"
# Strip CI/build metadata suffixes (e.g. -forgejo.29) for stable asset names.
version_core="$(printf '%s' "$version_tag" | sed -E 's/^v//' | sed -E 's/-forgejo\.[0-9]+$//')"
mv app/build/outputs/apk/release/app-universal-release-unsigned.apk "Komikku-${version_tag}-unsigned.apk"
mv app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk "Komikku-arm64-v8a-${version_tag}-unsigned.apk"
mv app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned.apk "Komikku-armeabi-v7a-${version_tag}-unsigned.apk"
mv app/build/outputs/apk/release/app-x86-release-unsigned.apk "Komikku-x86-${version_tag}-unsigned.apk"
mv app/build/outputs/apk/release/app-x86_64-release-unsigned.apk "Komikku-x86_64-${version_tag}-unsigned.apk"
mv app/build/outputs/apk/release/app-universal-release-unsigned.apk "Komikku-v${version_core}-universal-unsigned.apk"
mv app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk "Komikku-v${version_core}-arm64-v8a-unsigned.apk"
mv app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned.apk "Komikku-v${version_core}-armeabi-v7a-unsigned.apk"
mv app/build/outputs/apk/release/app-x86-release-unsigned.apk "Komikku-v${version_core}-x86-unsigned.apk"
mv app/build/outputs/apk/release/app-x86_64-release-unsigned.apk "Komikku-v${version_core}-x86_64-unsigned.apk"
if [ -d app/build/outputs/mapping/release ]; then
zip -qr "Komikku-mapping-${version_tag}.zip" app/build/outputs/mapping/release
zip -qr "Komikku-v${version_core}-mapping.zip" app/build/outputs/mapping/release
fi
- name: Sign APKs
@ -246,18 +248,11 @@ jobs:
}
# Only publish signed APK aliases.
alias_asset "$(ls -1t Komikku-arm64-v8a-*.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*|*-unsigned.apk)
;;
*)
alias_asset "$candidate" "Komikku-universal.apk"
break
;;
esac
done
alias_asset "$(ls -1t Komikku-v*-arm64-v8a.apk 2>/dev/null | head -n1)" "Komikku-arm64-v8a.apk"
alias_asset "$(ls -1t Komikku-v*-armeabi-v7a.apk 2>/dev/null | head -n1)" "Komikku-armeabi-v7a.apk"
alias_asset "$(ls -1t Komikku-v*-x86.apk 2>/dev/null | head -n1)" "Komikku-x86.apk"
alias_asset "$(ls -1t Komikku-v*-x86_64.apk 2>/dev/null | head -n1)" "Komikku-x86_64.apk"
alias_asset "$(ls -1t Komikku-v*-universal.apk 2>/dev/null | head -n1)" "Komikku-universal.apk"
- name: Create or update release
id: release
@ -364,24 +359,23 @@ jobs:
fi
release_body="$(printf '%s\n' \
"#### What's Changed" \
"## Komikku ${VERSION_DISPLAY}" \
"" \
"##### New" \
"" \
"##### Improve" \
"" \
"##### Fix" \
"### Download Guide" \
"- **Most users:** \`Komikku-universal.apk\`" \
"- **arm64 devices:** \`Komikku-arm64-v8a.apk\`" \
"- **armeabi-v7a devices:** \`Komikku-armeabi-v7a.apk\`" \
"- **x86 devices:** \`Komikku-x86.apk\`" \
"- **x86_64 devices:** \`Komikku-x86_64.apk\`" \
"" \
"### Changes" \
"${commit_logs}" \
"" \
"##### Based on" \
"### Release Notes" \
"- Assets use stable names for Obtainium compatibility." \
"- Versioned files follow: \`Komikku-v<version>-<abi>.apk\`." \
"" \
"${full_changelog}" \
"" \
"<!-->" \
"> [!TIP]" \
">" \
"> ### If you are unsure which version to download then go with \`Komikku-universal.apk\`")"
"${full_changelog}")"
"${JQ_BIN}" -n \
--arg tag "${VERSION_TAG}" \