diff --git a/.forgejo/workflows/build_release.yml b/.forgejo/workflows/build_release.yml index f500d40da..c47d02eb9 100755 --- a/.forgejo/workflows/build_release.yml +++ b/.forgejo/workflows/build_release.yml @@ -197,17 +197,15 @@ 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-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" + 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" if [ -d app/build/outputs/mapping/release ]; then - zip -qr "Komikku-v${version_core}-mapping.zip" app/build/outputs/mapping/release + zip -qr "Komikku-mapping-${version_tag}.zip" app/build/outputs/mapping/release fi - name: Sign APKs @@ -268,11 +266,18 @@ jobs: } # Only publish signed APK aliases. - 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" + 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 - name: Create or update release id: release @@ -386,21 +391,17 @@ jobs: fi release_body="$(printf '%s\n' \ - "## Komikku ${VERSION_DISPLAY}" \ + "#### What's Changed" \ "" \ - "### 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\`" \ + "##### New" \ + "" \ + "##### Improve" \ + "" \ + "##### Fix" \ "" \ - "### Changes" \ "${commit_logs}" \ "" \ - "### Release Notes" \ - "- Assets use stable names for Obtainium compatibility." \ - "- Versioned files follow: \`Komikku-v-.apk\`." \ + "##### Based on" \ "" \ "${fork_delta_label}" \ "" \ @@ -415,7 +416,7 @@ jobs: --arg tag "${VERSION_TAG}" \ --arg title "Komikku ${VERSION_DISPLAY}" \ --arg body "${release_body}" \ - '{tag_name: $tag, name: $title, body: $body, draft: true, prerelease: false}' > "${payload_file}" + '{tag_name: $tag, name: $title, body: $body, draft: false, prerelease: false}' > "${payload_file}" status="$(curl "${curl_tls_args[@]}" -sS -o "$response_file" -w '%{http_code}' \ -H "Authorization: token ${FORGEJO_TOKEN}" \