@@ -66,47 +66,56 @@ jobs:
6666 VERSION=$(grep '^version =' Cargo.toml | sed 's/version = "\(.*\)"/\1/')
6767 echo "version=$VERSION" >> $GITHUB_OUTPUT
6868
69- - name : Sign DMG files for Updater
69+ - name : Create targz Archives
7070 run : |
7171 VERSION=${{ steps.package_version.outputs.version }}
72- # 定义两个架构的 DMG 文件路径
73- DMG_AARCH64="./target/release/MessAuto_${VERSION}_aarch64.dmg"
74- DMG_X86_64="./target/x86_64-apple-darwin/release/MessAuto_${VERSION}_x64.dmg"
72+ echo "Creating aarch64 .tar.gz archive..."
73+ # -C 参数可以让我们在指定的目录中执行压缩,避免在归档中包含多余的父目录
74+ tar -czf "MessAuto_${VERSION}_aarch64.app.tar.gz" -C ./target/release/MessAuto.app
75+ echo "Creating x86_64 .tar.gz archive..."
76+ tar -czf "MessAuto_${VERSION}_x64.app.tar.gz" -C ./target/x86_64-apple-darwin/release/MessAuto.app
7577
76- echo "Signing AARCH64 DMG..."
78+ - name : Sign Archives for Updater
79+ run : |
80+ VERSION=${{ steps.package_version.outputs.version }}
81+ # 定义两个架构的 .tar.gz 文件路径
82+ ARCHIVE_AARCH64="./MessAuto_${VERSION}_aarch64.app.tar.gz"
83+ ARCHIVE_X86_64="./MessAuto_${VERSION}_x64.app.tar.gz"
84+
85+ echo "Signing AARCH64 archive..."
7786 cargo packager signer sign \
7887 --private-key ${{ secrets.UPDATER_PRIVATE_KEY }} \
7988 --password ${{ secrets.UPDATER_KEY_PASSWORD }} \
80- "$DMG_AARCH64 "
89+ "$ARCHIVE_AARCH64 "
8190
82- echo "Signing X86_64 DMG ..."
91+ echo "Signing X86_64 archive ..."
8392 cargo packager signer sign \
8493 --private-key ${{ secrets.UPDATER_PRIVATE_KEY }} \
8594 --password ${{ secrets.UPDATER_KEY_PASSWORD }} \
86- "$DMG_X86_64 "
95+ "$ARCHIVE_X86_64 "
8796
8897 - name : Create Update Manifests (update.json)
8998 run : |
9099 VERSION=${{ steps.package_version.outputs.version }}
91- DMG_AARCH64 ="./target/release/ MessAuto_${VERSION}_aarch64.dmg "
92- DMG_X86_64 ="./target/x86_64-apple-darwin/release/ MessAuto_${VERSION}_x64.dmg "
100+ ARCHIVE_AARCH64 ="./MessAuto_${VERSION}_aarch64.app.tar.gz "
101+ ARCHIVE_X86_64 ="./MessAuto_${VERSION}_x64.app.tar.gz "
93102
94103 # 为 aarch64 生成 update.json
95- SIGNATURE_AARCH64=$(cat "${DMG_AARCH64 }.sig")
104+ SIGNATURE_AARCH64=$(cat "${ARCHIVE_AARCH64 }.sig")
96105 echo "{
97106 \"version\": \"${{ github.ref_name }}\",
98107 \"pub_date\": \"$(date -u +"%Y-%m-%dT%H:%M:%SZ")\",
99- \"url\": \"https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/MessAuto_${VERSION}_aarch64.dmg \",
108+ \"url\": \"https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/MessAuto_${VERSION}_aarch64.app.tar.gz \",
100109 \"signature\": \"$SIGNATURE_AARCH64\",
101110 \"format\": \"app\"
102111 }" > ./update-aarch64.json
103112
104113 # 为 x86_64 生成 update.json
105- SIGNATURE_X86_64=$(cat "${DMG_X86_64 }.sig")
114+ SIGNATURE_X86_64=$(cat "${ARCHIVE_X86_64 }.sig")
106115 echo "{
107116 \"version\": \"${{ github.ref_name }}\",
108117 \"pub_date\": \"$(date -u +"%Y-%m-%dT%H:%M:%SZ")\",
109- \"url\": \"https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/MessAuto_${VERSION}_x64.dmg \",
118+ \"url\": \"https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/MessAuto_${VERSION}_x64.app.tar.gz \",
110119 \"signature\": \"$SIGNATURE_X86_64\",
111120 \"format\": \"app\"
112121 }" > ./update-x86_64.json
@@ -117,6 +126,8 @@ jobs:
117126 gh release upload ${{ github.ref_name }} \
118127 ./target/release/MessAuto_${VERSION}_aarch64.dmg \
119128 ./target/x86_64-apple-darwin/release/MessAuto_${VERSION}_x64.dmg \
129+ ./MessAuto_${VERSION}_aarch64.app.tar.gz \
130+ ./MessAuto_${VERSION}_x64.app.tar.gz \
120131 ./update-aarch64.json \
121132 ./update-x86_64.json
122133 env :
0 commit comments