@@ -43,10 +43,52 @@ jobs:
4343 draft : true
4444 prerelease : false
4545
46+ # Get the latest version of the release
47+ set-nitro-version :
48+ runs-on : ubuntu-latest
49+ outputs :
50+ version : ${{ steps.version_update.outputs.new_version }}
51+ steps :
52+ - name : Get latest release
53+ id : version_update
54+ run : |
55+ if [[ ${{ github.event_name }} == push && ${{ github.ref }} == refs/tags/* ]]; then
56+ echo "VERSION=${GITHUB_REF#refs/tags/}"
57+ NEW_VERSION="${VERSION#v}"
58+ echo "::set-output name=new_version::$NEW_VERSION"
59+ else
60+ # Function to get the latest release tag
61+ get_latest_tag() {
62+ local retries=0
63+ local max_retries=3
64+ local tag
65+ while [ $retries -lt $max_retries ]; do
66+ tag=$(curl -s https://api.github.com/repos/janhq/nitro/releases/latest | jq -r .tag_name)
67+ if [ -n "$tag" ] && [ "$tag" != "null" ]; then
68+ echo $tag
69+ return
70+ else
71+ let retries++
72+ sleep 2
73+ fi
74+ done
75+ echo "Failed to fetch latest tag after $max_retries attempts."
76+ exit 1
77+ }
78+ # Get the latest release tag from GitHub API
79+ LATEST_TAG=$(get_latest_tag)
80+
81+ # Remove the 'v' and append the build number to the version
82+ NEW_VERSION="${LATEST_TAG#v}-${GITHUB_RUN_NUMBER}"
83+ echo "New version: $NEW_VERSION"
84+ echo "::set-output name=new_version::$NEW_VERSION"
85+ fi
86+ echo "Version: $NEW_VERSION"
87+
4688 ubuntu-amd64-build :
4789 runs-on : ubuntu-latest
48- needs : create-draft-release
49- if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped')
90+ needs : [ create-draft-release, set-nitro-version]
91+ if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped') && needs.set-nitro-version.result == 'success'
5092 permissions :
5193 contents : write
5294 steps :
67109 run : |
68110 ./install_deps.sh
69111 mkdir build && cd build
70- cmake -DDEBUG=ON -DLLAMA_NATIVE=OFF ..
112+ cmake -DDEBUG=ON -DLLAMA_NATIVE=OFF -DNITRO_VERSION=${{ needs.set-nitro-version.outputs.version }} ..
71113 CC=gcc-8 make -j $(nproc)
72114 ls -la
73115
@@ -104,8 +146,8 @@ jobs:
104146
105147 ubuntu-amd64-cuda-build :
106148 runs-on : linux-gpu
107- needs : create-draft-release
108- if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped')
149+ needs : [ create-draft-release, set-nitro-version]
150+ if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped') && needs.set-nitro-version.result == 'success'
109151 permissions :
110152 contents : write
111153 steps :
@@ -126,7 +168,7 @@ jobs:
126168 run : |
127169 ./install_deps.sh
128170 mkdir build && cd build
129- cmake -DDEBUG=ON -DLLAMA_CUBLAS=ON -DLLAMA_NATIVE=OFF ..
171+ cmake -DDEBUG=ON -DLLAMA_CUBLAS=ON -DLLAMA_NATIVE=OFF -DNITRO_VERSION=${{ needs.set-nitro-version.outputs.version }} ..
130172 CC=gcc-8 make -j $(nproc)
131173 ls -la
132174
@@ -163,8 +205,8 @@ jobs:
163205
164206 macOS-M-build :
165207 runs-on : mac-silicon
166- needs : create-draft-release
167- if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped')
208+ needs : [ create-draft-release, set-nitro-version]
209+ if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped') && needs.set-nitro-version.result == 'success'
168210 permissions :
169211 contents : write
170212 steps :
@@ -186,7 +228,7 @@ jobs:
186228 run : |
187229 ./install_deps.sh
188230 mkdir build && cd build
189- cmake ..
231+ cmake -DNITRO_VERSION=${{ needs.set-nitro-version.outputs.version }} ..
190232 CC=gcc-8 make -j $(sysctl -n hw.ncp)
191233 ls -la
192234
@@ -224,8 +266,8 @@ jobs:
224266
225267 macOS-Intel-build :
226268 runs-on : macos-latest
227- needs : create-draft-release
228- if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped')
269+ needs : [ create-draft-release, set-nitro-version]
270+ if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped') && needs.set-nitro-version.result == 'success'
229271 permissions :
230272 contents : write
231273 steps :
@@ -246,7 +288,7 @@ jobs:
246288 run : |
247289 ./install_deps.sh
248290 mkdir build && cd build
249- cmake -DLLAMA_METAL=OFF ..
291+ cmake -DNITRO_VERSION=${{ needs.set-nitro-version.outputs.version }} - DLLAMA_METAL=OFF ..
250292 CC=gcc-8 make -j $(sysctl -n hw.ncp)
251293 ls -la
252294
@@ -283,8 +325,8 @@ jobs:
283325
284326 windows-amd64-build :
285327 runs-on : windows-latest
286- needs : create-draft-release
287- if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped')
328+ needs : [ create-draft-release, set-nitro-version]
329+ if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped') && needs.set-nitro-version.result == 'success'
288330 permissions :
289331 contents : write
290332
@@ -315,7 +357,7 @@ jobs:
315357 cmake --build ./build_deps/nitro_deps --config Release
316358 mkdir -p build
317359 cd build
318- cmake .. -DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_BLAS=ON -DBUILD_SHARED_LIBS=ON
360+ cmake .. -DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_BLAS=ON -DBUILD_SHARED_LIBS=ON -DNITRO_VERSION=${{ needs.set-nitro-version.outputs.version }}
319361 cmake --build . --config Release -j "%NUMBER_OF_PROCESSORS%"
320362
321363 - name : Pack artifacts
@@ -354,8 +396,8 @@ jobs:
354396
355397 windows-amd64-cuda-build :
356398 runs-on : windows-nvidia
357- needs : create-draft-release
358- if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped')
399+ needs : [ create-draft-release, set-nitro-version]
400+ if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped') && needs.set-nitro-version.result == 'success'
359401 permissions :
360402 contents : write
361403
@@ -386,7 +428,7 @@ jobs:
386428 cmake --build ./build_deps/nitro_deps --config Release
387429 mkdir -p build
388430 cd build
389- cmake .. -DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON
431+ cmake .. -DLLAMA_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON -DNITRO_VERSION=${{ needs.set-nitro-version.outputs.version }}
390432 cmake --build . --config Release -j "%NUMBER_OF_PROCESSORS%"
391433
392434 - name : Pack artifacts
@@ -426,8 +468,8 @@ jobs:
426468
427469 windows-amd64-cuda-package :
428470 runs-on : windows-latest
429- needs : create-draft-release
430- if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped')
471+ needs : [ create-draft-release, set-nitro-version]
472+ if : always() && (needs.create-draft-release.result == 'success' || needs.create-draft-release.result == 'skipped') && needs.set-nitro-version.result == 'success'
431473 permissions :
432474 contents : write
433475
0 commit comments