Skip to content

Commit 7b6d745

Browse files
authored
release: fix duplicate libs, store symbolic links (ggml-org#17299)
1 parent 98bd9ab commit 7b6d745

File tree

1 file changed

+95
-19
lines changed

1 file changed

+95
-19
lines changed

.github/workflows/release.yml

Lines changed: 95 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)