Remove checksum from release notes and improve download tip

(cherry picked from commit b93337cb3d53278e191cf1dceeaf6c4effdb141d)
This commit is contained in:
AntsyLich 2025-08-03 02:23:15 +06:00 committed by Cuong-Tran
parent d60181c3ea
commit 7e71162519
8 changed files with 21 additions and 76 deletions

View file

@ -189,24 +189,10 @@ jobs:
set -e set -e
mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-universal-preview-signed.apk Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-universal-preview-signed.apk Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk
sha=`sha256sum Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'`
echo "APK_UNIVERSAL_SHA=$sha" >> $GITHUB_OUTPUT
mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-arm64-v8a-preview-signed.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-arm64-v8a-preview-signed.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk
sha=`sha256sum Komikku-arm64-v8a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'`
echo "APK_ARM64_V8A_SHA=$sha" >> $GITHUB_OUTPUT
mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-armeabi-v7a-preview-signed.apk Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-armeabi-v7a-preview-signed.apk Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk
sha=`sha256sum Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'`
echo "APK_ARMEABI_V7A_SHA=$sha" >> $GITHUB_OUTPUT
mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-x86-preview-signed.apk Komikku-x86-${{ needs.prepare-build.outputs.TAG_NAME }}.apk mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-x86-preview-signed.apk Komikku-x86-${{ needs.prepare-build.outputs.TAG_NAME }}.apk
sha=`sha256sum Komikku-x86-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'`
echo "APK_X86_SHA=$sha" >> $GITHUB_OUTPUT
mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-x86_64-preview-signed.apk Komikku-x86_64-${{ needs.prepare-build.outputs.TAG_NAME }}.apk mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-x86_64-preview-signed.apk Komikku-x86_64-${{ needs.prepare-build.outputs.TAG_NAME }}.apk
sha=`sha256sum Komikku-x86_64-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'`
echo "APK_X86_64_SHA=$sha" >> $GITHUB_OUTPUT
- name: Create release - name: Create release
uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1 uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1
@ -226,19 +212,10 @@ jobs:
**Full Changelog**: [komikku-app/komikku@${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.TAG_NAME }}](https://github.com/komikku-app/komikku/compare/${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.TAG_NAME }}) **Full Changelog**: [komikku-app/komikku@${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.TAG_NAME }}](https://github.com/komikku-app/komikku/compare/${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.TAG_NAME }})
--- <!-->
> [!TIP]
### Checksums >
> ### If you are unsure which version to download then go with `Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk`
| Variant | SHA-256 |
| ------- | ------- |
| Universal | ${{ steps.get_sha.outputs.APK_UNIVERSAL_SHA }} |
| arm64-v8a | ${{ steps.get_sha.outputs.APK_ARM64_V8A_SHA }} |
| armeabi-v7a | ${{ steps.get_sha.outputs.APK_ARMEABI_V7A_SHA }} |
| x86 | ${{ steps.get_sha.outputs.APK_X86_SHA }} |
| x86_64 | ${{ steps.get_sha.outputs.APK_X86_64_SHA }} |
### If you are unsure which apk to download then go with `Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk`
files: | files: |
Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk
Komikku-arm64-v8a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk

View file

@ -163,24 +163,10 @@ jobs:
set -e set -e
mv app/build/outputs/apk/release/app-universal-release-unsigned-signed.apk Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk mv app/build/outputs/apk/release/app-universal-release-unsigned-signed.apk Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk
sha=`sha256sum Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'`
echo "APK_UNIVERSAL_SHA=$sha" >> $GITHUB_OUTPUT
mv app/build/outputs/apk/release/app-arm64-v8a-release-unsigned-signed.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk mv app/build/outputs/apk/release/app-arm64-v8a-release-unsigned-signed.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk
sha=`sha256sum Komikku-arm64-v8a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'`
echo "APK_ARM64_V8A_SHA=$sha" >> $GITHUB_OUTPUT
mv app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned-signed.apk Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk mv app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned-signed.apk Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk
sha=`sha256sum Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'`
echo "APK_ARMEABI_V7A_SHA=$sha" >> $GITHUB_OUTPUT
mv app/build/outputs/apk/release/app-x86-release-unsigned-signed.apk Komikku-x86-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk mv app/build/outputs/apk/release/app-x86-release-unsigned-signed.apk Komikku-x86-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk
sha=`sha256sum Komikku-x86-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'`
echo "APK_X86_SHA=$sha" >> $GITHUB_OUTPUT
mv app/build/outputs/apk/release/app-x86_64-release-unsigned-signed.apk Komikku-x86_64-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk mv app/build/outputs/apk/release/app-x86_64-release-unsigned-signed.apk Komikku-x86_64-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk
sha=`sha256sum Komikku-x86_64-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'`
echo "APK_X86_64_SHA=$sha" >> $GITHUB_OUTPUT
- name: Create release - name: Create release
uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1 uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1
@ -202,19 +188,10 @@ jobs:
**Full Changelog**: [komikku-app/komikku@${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.VERSION_TAG }}](https://github.com/komikku-app/komikku/compare/${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.VERSION_TAG }}) **Full Changelog**: [komikku-app/komikku@${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.VERSION_TAG }}](https://github.com/komikku-app/komikku/compare/${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.VERSION_TAG }})
--- <!-->
> [!TIP]
### Checksums >
> ### If you are unsure which version to download then go with `Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk`
| Variant | SHA-256 |
| ------- | ------- |
| Universal | ${{ steps.get_sha.outputs.APK_UNIVERSAL_SHA }} |
| arm64-v8a | ${{ steps.get_sha.outputs.APK_ARM64_V8A_SHA }} |
| armeabi-v7a | ${{ steps.get_sha.outputs.APK_ARMEABI_V7A_SHA }} |
| x86 | ${{ steps.get_sha.outputs.APK_X86_SHA }} |
| x86_64 | ${{ steps.get_sha.outputs.APK_X86_64_SHA }} |
### If you are unsure which apk to download then go with `Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk`
files: | files: |
Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk
Komikku-arm64-v8a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk

View file

@ -84,7 +84,7 @@ private fun WhatsNewScreenPreview() {
**Full Changelog**: [komikku-app/komikku@v1.13.0...v1.13.1](https://github.com/komikku-app/komikku/compare/v1.13.0...v1.13.1) **Full Changelog**: [komikku-app/komikku@v1.13.0...v1.13.1](https://github.com/komikku-app/komikku/compare/v1.13.0...v1.13.1)
--- -----
## v1.12.6 ## v1.12.6
@ -96,7 +96,7 @@ private fun WhatsNewScreenPreview() {
**Full Changelog**: [komikku-app/komikku@v1.12.5...v1.12.6](https://github.com/komikku-app/komikku/compare/v1.12.5...v1.12.6) **Full Changelog**: [komikku-app/komikku@v1.12.5...v1.12.6](https://github.com/komikku-app/komikku/compare/v1.12.5...v1.12.6)
--- -----
## v1.12.5 ## v1.12.5

View file

@ -63,6 +63,7 @@ import java.time.LocalDateTime
import java.time.ZoneId import java.time.ZoneId
class AboutScreen : Screen() { class AboutScreen : Screen() {
@Suppress("unused")
private fun readResolve(): Any = AboutScreen private fun readResolve(): Any = AboutScreen
@Composable @Composable
@ -402,7 +403,7 @@ class AboutScreen : Screen() {
Injekt.get<UiPreferences>().dateFormat().get(), Injekt.get<UiPreferences>().dateFormat().get(),
), ),
) )
} catch (e: Exception) { } catch (_: Exception) {
BuildConfig.BUILD_TIME BuildConfig.BUILD_TIME
} }
} }

View file

@ -553,7 +553,7 @@ class LibraryScreenModel(
// SY <-- // SY <--
// KMK --> // KMK -->
filterFnCategories(it) filterFnCategories(it)
// KMK <--- // KMK <--
} }
} }

View file

@ -22,7 +22,7 @@ class ComingUpdatesScreen(
val navigator = LocalNavigator.currentOrThrow val navigator = LocalNavigator.currentOrThrow
val context = LocalContext.current val context = LocalContext.current
val changelogInfoNoChecksum = remember { val changelogInfoNoChecksum = remember {
changelogInfo.replace("""---(\R|.)*Checksums(\R|.)*""".toRegex(), "") changelogInfo
} }
ComingUpdatesScreen( ComingUpdatesScreen(

View file

@ -27,7 +27,7 @@ class ReleaseServiceImpl(
return Release( return Release(
version = release.version, version = release.version,
info = release.info.replace(gitHubUsernameMentionRegex) { mention -> info = release.info.substringBeforeLast("<!-->").replace(gitHubUsernameMentionRegex) { mention ->
"[${mention.value}](https://github.com/${mention.value.substring(1)})" "[${mention.value}](https://github.com/${mention.value.substring(1)})"
}, },
releaseLink = release.releaseLink, releaseLink = release.releaseLink,
@ -50,7 +50,7 @@ class ReleaseServiceImpl(
info = release.info.replace(gitHubUsernameMentionRegex) { mention -> info = release.info.replace(gitHubUsernameMentionRegex) { mention ->
"[${mention.value}](https://github.com/${mention.value.substring(1)})" "[${mention.value}](https://github.com/${mention.value.substring(1)})"
} }
.replace(checksumRegex, "") .substringBeforeLast("<!-->")
// KMK --> // KMK -->
.replace(getHubDownloadBadgeRegex, "") .replace(getHubDownloadBadgeRegex, "")
.replace(gitHubCommitsCompareRegex) { matchResult -> .replace(gitHubCommitsCompareRegex) { matchResult ->
@ -104,8 +104,6 @@ class ReleaseServiceImpl(
private val gitHubUsernameMentionRegex = """\B@([a-z0-9](?:-(?=[a-z0-9])|[a-z0-9]){0,38}(?<=[a-z0-9]))""" private val gitHubUsernameMentionRegex = """\B@([a-z0-9](?:-(?=[a-z0-9])|[a-z0-9]){0,38}(?<=[a-z0-9]))"""
.toRegex(RegexOption.IGNORE_CASE) .toRegex(RegexOption.IGNORE_CASE)
private val checksumRegex = """---(\R|.)*Checksums(\R|.)*""".toRegex()
// KMK --> // KMK -->
private val getHubDownloadBadgeRegex = """\[!\[GitHub downloads]\(.*\)]\(.*\)""" private val getHubDownloadBadgeRegex = """\[!\[GitHub downloads]\(.*\)]\(.*\)"""
.toRegex(RegexOption.IGNORE_CASE) .toRegex(RegexOption.IGNORE_CASE)

View file

@ -60,14 +60,8 @@ class GetApplicationRelease(
val releases = service.releaseNotes(arguments) val releases = service.releaseNotes(arguments)
.filter { !it.preRelease } .filter { !it.preRelease }
val release = releases.firstOrNull() val latest = releases.getLatest() ?: return Result.NoNewUpdate
?.copy( return Result.NewUpdate(latest)
info = releases.joinToString("\r---\r") {
"## ${it.version}\r\r${it.info}"
},
)
if (release == null) return Result.NoNewUpdate
return Result.NewUpdate(release)
} }
// KMK <-- // KMK <--
@ -134,13 +128,11 @@ class GetApplicationRelease(
// KMK --. // KMK --.
internal fun List<Release>.getLatest(): Release? { internal fun List<Release>.getLatest(): Release? {
val checksumRegex = """---(\R|.)*Checksums(\R|.)*""".toRegex()
return firstOrNull() return firstOrNull()
?.copy( ?.copy(
info = joinToString("\r---\r") { info = joinToString("\r-----\r") {
"## ${it.version}\r\r" + "## ${it.version}\r\r" +
it.info.replace(checksumRegex, "") it.info
}, },
) )
} }