@@ -189,58 +189,38 @@ jobs:
189189 draft : false
190190 prerelease : false
191191
192- - name : Prepare release assets with 7zip split
192+ - name : Prepare release assets with zip split
193193 run : |
194- echo "=== Initial disk usage ==="
195- df -h .
196-
197194 # Create release_assets directory
198195 mkdir -p release_assets
199196
200197 # Clean up any existing split files first
201- rm -f release_assets/*.7z.* release_assets/*.zip.*
198+ rm -f release_assets/*.7z.* release_assets/*.zip.* release_assets/*.z*
202199
203200 echo "=== Processing artifacts ==="
204201 find artifacts -type f | while read artifact; do
205202 asset_name=$(basename "$artifact")
203+ base_name="${asset_name%.*}"
206204 echo "Processing: $asset_name"
207205
208- # Create a clean file name for 7zip (remove spaces and special chars)
209- clean_name=$(echo "$asset_name" | sed 's/[^a-zA-Z0-9._-]/_/g')
210-
211206 # Check file size in GB
212207 file_size_gb=$(($(stat -c%s "$artifact") / 1024 / 1024 / 1024))
213208
214209 if [ $file_size_gb -ge 2 ]; then
215210 echo "File larger than 2GB, splitting into volumes..."
216211
217- # Ensure no leftover old files
218- rm -f "release_assets/${clean_name%.*}.zip" "release_assets/${clean_name%.*}.zip.*"
219-
220212 # Split into 1.9GB parts (1900MB) to stay well under 2GB limit
221- 7z a -tzip -v1900m -aoa "release_assets/${clean_name%.*}.zip" "$artifact"
222-
223- echo "Created parts for $asset_name:"
224- ls -lh "release_assets/${clean_name%.*}.zip".*
225-
226- # Delete original large file immediately after splitting to free space
227- echo "Removing original large file: $artifact"
228- rm -f "$artifact"
229-
230- echo "=== Disk usage after processing $asset_name ==="
231- df -h .
213+ # 7z a -tzip -v1900m -aoa "release_assets/${asset_name%.*}.zip" "$artifact"
214+ zip -s 100m -0 "release_assets/${base_name}.zip" "$artifact" && rm -f "$artifact"
232215
233216 else
234217 echo "File is under 2GB, moving to release_assets"
235- # 确保目标目录没有旧文件
236- rm -f "release_assets/$clean_name "
237- mv "$artifact" "release_assets/$clean_name "
218+ # Ensure no leftover old files
219+ rm -f "release_assets/$asset_name "
220+ mv "$artifact" "release_assets/$asset_name "
238221 fi
239222 done
240223
241- echo "=== Final disk usage ==="
242- df -h .
243-
244224
245225 - name : Upload Release Assets
246226 run : |
0 commit comments