feat: release notes template

This commit is contained in:
Miuzarte
2026-03-19 12:41:20 +08:00
parent 6282eadb45
commit 7036fdd2f3

View File

@@ -5,7 +5,6 @@ on:
push: push:
tags: tags:
- "*" - "*"
permissions: permissions:
contents: write contents: write
@@ -141,10 +140,56 @@ jobs:
ls -la dist ls -la dist
- name: Generate release notes
run: |
set -euo pipefail
notes_file="dist/RELEASE_NOTES.md"
download_base_url="https://github.com/${GITHUB_REPOSITORY}/releases/download/${GITHUB_REF_NAME}"
{
echo "**release-unsigned** 为未签名构建,无法直接安装"
echo
echo "| 架构 | 构建类型 | 文件 | SHA256 | 大小 |"
echo "| --- | --- | --- | --- | --- |"
shopt -s nullglob
for apk in dist/*.apk; do
file_name="$(basename "$apk")"
arch="unknown"
if [[ "$file_name" == *"arm64-v8a"* ]] || [[ "$file_name" == *"arm64"* ]]; then
arch="arm64"
elif [[ "$file_name" == *"armeabi-v7a"* ]] || [[ "$file_name" == *"arm32"* ]]; then
arch="arm32"
elif [[ "$file_name" == *"x86_64"* ]]; then
arch="x86_64"
elif [[ "$file_name" == *"x86"* ]]; then
arch="x86_32"
elif [[ "$file_name" == *"universal"* ]] || [[ "$file_name" == *"arm_all"* ]]; then
arch="arm_all"
fi
build_type="debug"
if [[ "$file_name" == *"unsigned"* ]]; then
build_type="release-unsigned"
fi
file_url="${download_base_url}/${file_name}"
sha256_value="$(sha256sum "$apk" | awk '{print $1}')"
size_bytes="$(stat -c%s "$apk")"
size_mb="$(awk -v bytes="$size_bytes" 'BEGIN { printf "%.1f MB", bytes / 1048576 }')"
echo "| ${arch} | ${build_type} | [${file_name}](${file_url}) | ${sha256_value} | ${size_mb} |"
done
} > "$notes_file"
cat "$notes_file"
- name: Publish GitHub Release - name: Publish GitHub Release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
tag_name: ${{ github.ref_name }} tag_name: ${{ github.ref_name }}
name: ${{ github.ref_name }} name: ${{ github.ref_name }}
generate_release_notes: true body_path: dist/RELEASE_NOTES.md
files: dist/*.apk files: dist/*.apk