@@ -66,14 +66,21 @@ jobs:
6666 id : pack_artifacts
6767 run : |
6868 cp LICENSE ./build/bin/
69- zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.zip ./build/bin/*
69+ zip -y -r llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.zip ./build/bin/*
70+ tar -czvf llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.tar.gz -C ./build/bin .
7071
71- - name : Upload artifacts
72+ - name : Upload artifacts (zip)
7273 uses : actions/upload-artifact@v4
7374 with :
7475 path : llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.zip
7576 name : llama-bin-macos-arm64.zip
7677
78+ - name : Upload artifacts (tar)
79+ uses : actions/upload-artifact@v4
80+ with :
81+ path : llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.tar.gz
82+ name : llama-bin-macos-arm64.tar.gz
83+
7784 macOS-x64 :
7885 runs-on : macos-15-intel
7986
@@ -120,14 +127,21 @@ jobs:
120127 id : pack_artifacts
121128 run : |
122129 cp LICENSE ./build/bin/
123- zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-x64.zip ./build/bin/*
130+ zip -y -r llama-${{ steps.tag.outputs.name }}-bin-macos-x64.zip ./build/bin/*
131+ tar -czvf llama-${{ steps.tag.outputs.name }}-bin-macos-x64.tar.gz -C ./build/bin .
124132
125- - name : Upload artifacts
133+ - name : Upload artifacts (zip)
126134 uses : actions/upload-artifact@v4
127135 with :
128136 path : llama-${{ steps.tag.outputs.name }}-bin-macos-x64.zip
129137 name : llama-bin-macos-x64.zip
130138
139+ - name : Upload artifacts (tar)
140+ uses : actions/upload-artifact@v4
141+ with :
142+ path : llama-${{ steps.tag.outputs.name }}-bin-macos-x64.tar.gz
143+ name : llama-bin-macos-x64.tar.gz
144+
131145 ubuntu-22-cpu :
132146 strategy :
133147 matrix :
@@ -182,14 +196,21 @@ jobs:
182196 id : pack_artifacts
183197 run : |
184198 cp LICENSE ./build/bin/
185- zip -r llama-${{ steps.tag.outputs.name }}-bin-ubuntu-${{ matrix.build }}.zip ./build/bin/*
199+ zip -y -r llama-${{ steps.tag.outputs.name }}-bin-ubuntu-${{ matrix.build }}.zip ./build/bin/*
200+ tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-${{ matrix.build }}.tar.gz -C ./build/bin .
186201
187- - name : Upload artifacts
202+ - name : Upload artifacts (zip)
188203 uses : actions/upload-artifact@v4
189204 with :
190205 path : llama-${{ steps.tag.outputs.name }}-bin-ubuntu-${{ matrix.build }}.zip
191206 name : llama-bin-ubuntu-${{ matrix.build }}.zip
192207
208+ - name : Upload artifacts (tar)
209+ uses : actions/upload-artifact@v4
210+ with :
211+ path : llama-${{ steps.tag.outputs.name }}-bin-ubuntu-${{ matrix.build }}.tar.gz
212+ name : llama-bin-ubuntu-${{ matrix.build }}.tar.gz
213+
193214 ubuntu-22-vulkan :
194215 runs-on : ubuntu-22.04
195216
@@ -235,14 +256,21 @@ jobs:
235256 id : pack_artifacts
236257 run : |
237258 cp LICENSE ./build/bin/
238- zip -r llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.zip ./build/bin/*
259+ zip -y -r llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.zip ./build/bin/*
260+ tar -czvf llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.tar.gz -C ./build/bin .
239261
240- - name : Upload artifacts
262+ - name : Upload artifacts (zip)
241263 uses : actions/upload-artifact@v4
242264 with :
243265 path : llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.zip
244266 name : llama-bin-ubuntu-vulkan-x64.zip
245267
268+ - name : Upload artifacts (tar)
269+ uses : actions/upload-artifact@v4
270+ with :
271+ path : llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.tar.gz
272+ name : llama-bin-ubuntu-vulkan-x64.tar.gz
273+
246274 windows-cpu :
247275 runs-on : windows-2025
248276
@@ -298,7 +326,7 @@ jobs:
298326 run : |
299327 Copy-Item $env:CURL_PATH\bin\libcurl-${{ matrix.arch }}.dll .\build\bin\Release\
300328 Copy-Item "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.44.35112\debug_nonredist\${{ matrix.arch }}\Microsoft.VC143.OpenMP.LLVM\libomp140.${{ matrix.arch == 'x64' && 'x86_64' || 'aarch64' }}.dll" .\build\bin\Release\
301- 7z a llama-bin-win-cpu-${{ matrix.arch }}.zip .\build\bin\Release\*
329+ 7z a -snl llama-bin-win-cpu-${{ matrix.arch }}.zip .\build\bin\Release\*
302330
303331 - name : Upload artifacts
304332 uses : actions/upload-artifact@v4
@@ -380,7 +408,7 @@ jobs:
380408 - name : Pack artifacts
381409 id : pack_artifacts
382410 run : |
383- 7z a llama-bin-win-${{ matrix.backend }}-${{ matrix.arch }}.zip .\build\bin\Release\${{ matrix.target }}.dll
411+ 7z a -snl llama-bin-win-${{ matrix.backend }}-${{ matrix.arch }}.zip .\build\bin\Release\${{ matrix.target }}.dll
384412
385413 - name : Upload artifacts
386414 uses : actions/upload-artifact@v4
@@ -434,7 +462,7 @@ jobs:
434462 - name : Pack artifacts
435463 id : pack_artifacts
436464 run : |
437- 7z a llama-bin-win-cuda-${{ matrix.cuda }}-x64.zip .\build\bin\Release\ggml-cuda.dll
465+ 7z a -snl llama-bin-win-cuda-${{ matrix.cuda }}-x64.zip .\build\bin\Release\ggml-cuda.dll
438466
439467 - name : Upload artifacts
440468 uses : actions/upload-artifact@v4
@@ -526,7 +554,7 @@ jobs:
526554 cp "${{ env.ONEAPI_ROOT }}/umf/latest/bin/umf.dll" ./build/bin
527555
528556 echo "cp oneAPI running time dll files to ./build/bin done"
529- 7z a llama-bin-win-sycl-x64.zip ./build/bin/*
557+ 7z a -snl llama-bin-win-sycl-x64.zip ./build/bin/*
530558
531559 - name : Upload the release package
532560 uses : actions/upload-artifact@v4
@@ -632,7 +660,7 @@ jobs:
632660 - name : Pack artifacts
633661 id : pack_artifacts
634662 run : |
635- 7z a llama-bin-win-hip-${{ matrix.name }}-x64.zip .\build\bin\*
663+ 7z a -snl llama-bin-win-hip-${{ matrix.name }}-x64.zip .\build\bin\*
636664
637665 - name : Upload artifacts
638666 uses : actions/upload-artifact@v4
@@ -685,13 +713,20 @@ jobs:
685713 - name : Pack artifacts
686714 id : pack_artifacts
687715 run : |
688- zip --symlinks -r llama-${{ steps.tag.outputs.name }}-xcframework.zip build-apple/llama.xcframework
716+ zip -y -r llama-${{ steps.tag.outputs.name }}-xcframework.zip build-apple/llama.xcframework
717+ tar -czvf llama-${{ steps.tag.outputs.name }}-xcframework.tar.gz -C build-apple llama.xcframework
689718
690- - name : Upload artifacts
719+ - name : Upload artifacts (zip)
691720 uses : actions/upload-artifact@v4
692721 with :
693722 path : llama-${{ steps.tag.outputs.name }}-xcframework.zip
694- name : llama-${{ steps.tag.outputs.name }}-xcframework
723+ name : llama-${{ steps.tag.outputs.name }}-xcframework.zip
724+
725+ - name : Upload artifacts (tar)
726+ uses : actions/upload-artifact@v4
727+ with :
728+ path : llama-${{ steps.tag.outputs.name }}-xcframework.tar.gz
729+ name : llama-${{ steps.tag.outputs.name }}-xcframework.tar.gz
695730
696731 openEuler-cann :
697732 strategy :
@@ -730,14 +765,21 @@ jobs:
730765 - name : Pack artifacts
731766 run : |
732767 cp LICENSE ./build/bin/
733- zip -r llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.zip ./build/bin/*
768+ zip -y -r llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.zip ./build/bin/*
769+ tar -czvf llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.tar.gz -C ./build/bin .
734770
735- - name : Upload artifacts
771+ - name : Upload artifacts (zip)
736772 uses : actions/upload-artifact@v4
737773 with :
738774 path : llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.zip
739775 name : llama-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.zip
740776
777+ - name : Upload artifacts (tar)
778+ uses : actions/upload-artifact@v4
779+ with :
780+ path : llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.tar.gz
781+ name : llama-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.tar.gz
782+
741783 release :
742784 if : ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
743785
@@ -814,6 +856,7 @@ jobs:
814856
815857 echo "Moving other artifacts..."
816858 mv -v artifact/*.zip release
859+ mv -v artifact/*.tar.gz release
817860
818861 - name : Create release
819862 id : create_release
@@ -822,6 +865,39 @@ jobs:
822865 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
823866 with :
824867 tag_name : ${{ steps.tag.outputs.name }}
868+ body : |
869+ > [!WARNING]
870+ > **Release Format Update**: Linux releases will soon use .tar.gz archives instead of .zip. Please make the necessary changes to your deployment scripts.
871+
872+ **macOS/iOS:**
873+ - [macOS Apple Silicon (arm64)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.tar.gz)
874+ - [macOS Intel (x64)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-macos-x64.tar.gz)
875+ - [iOS XCFramework](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-xcframework.tar.gz)
876+
877+ **Linux:**
878+ - [Ubuntu x64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-x64.tar.gz)
879+ - [Ubuntu x64 (Vulkan)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.tar.gz)
880+ - [Ubuntu s390x (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-s390x.tar.gz)
881+
882+ **Windows:**
883+ - [Windows x64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-cpu-x64.zip)
884+ - [Windows arm64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-cpu-arm64.zip)
885+ - [Windows x64 (CUDA)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-cuda-12.4-x64.zip)
886+ - [Windows x64 (Vulkan)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-vulkan-x64.zip)
887+ - [Windows x64 (SYCL)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-sycl-x64.zip)
888+ - [Windows x64 (HIP)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-hip-radeon-x64.zip)
889+
890+ **openEuler:**
891+ - [openEuler x86 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-x86.tar.gz)
892+ - [openEuler x86 (910b)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-x86.tar.gz)
893+ - [openEuler aarch64 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-aarch64.tar.gz)
894+ - [openEuler aarch64 (910b)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-aarch64.tar.gz)
895+
896+ <details>
897+
898+ ${{ github.event.head_commit.message }}
899+
900+ </details>
825901
826902 - name : Upload release
827903 id : upload_release
@@ -833,7 +909,7 @@ jobs:
833909 const fs = require('fs');
834910 const release_id = '${{ steps.create_release.outputs.id }}';
835911 for (let file of await fs.readdirSync('./release')) {
836- if (path.extname(file) === '.zip') {
912+ if (path.extname(file) === '.zip' || file.endsWith('.tar.gz') ) {
837913 console.log('uploadReleaseAsset', file);
838914 await github.repos.uploadReleaseAsset({
839915 owner: context.repo.owner,
0 commit comments