mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-06-26 11:45:21 +00:00
ci: add workflow for relocatable cmake package (#14346)
This commit is contained in:
51
.github/workflows/build-cmake-pkg.yml
vendored
Normal file
51
.github/workflows/build-cmake-pkg.yml
vendored
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
name: Build relocatable cmake package
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
linux:
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y build-essential tcl
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
PREFIX="$(pwd)"/inst
|
||||||
|
cmake -S . -B build -DCMAKE_PREFIX_PATH="$PREFIX" \
|
||||||
|
-DLLAMA_CURL=OFF -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_TOOLS=OFF \
|
||||||
|
-DLLAMA_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Release
|
||||||
|
cmake --build build --config Release
|
||||||
|
cmake --install build --prefix "$PREFIX" --config Release
|
||||||
|
|
||||||
|
export LLAMA_CONFIG="$PREFIX"/lib/cmake/llama/llama-config.cmake
|
||||||
|
tclsh <<'EOF'
|
||||||
|
set build(commit) [string trim [exec git rev-parse --short HEAD]]
|
||||||
|
set build(number) [string trim [exec git rev-list --count HEAD]]
|
||||||
|
set build(version) "0.0.$build(number)"
|
||||||
|
|
||||||
|
set llamaconfig [read [open "$env(LLAMA_CONFIG)" r]]
|
||||||
|
set checks [list "set\\(LLAMA_VERSION \\s+$build(version)\\)" \
|
||||||
|
"set\\(LLAMA_BUILD_COMMIT\\s+$build(commit)\\)" \
|
||||||
|
"set\\(LLAMA_BUILD_NUMBER\\s+$build(number)\\)"]
|
||||||
|
|
||||||
|
puts -nonewline "Checking llama-config.cmake version... "
|
||||||
|
foreach check $checks {
|
||||||
|
if {![regexp -expanded -- $check $llamaconfig]} {
|
||||||
|
puts "\"$check\" failed!"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
puts "success."
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cd examples/simple-cmake-pkg
|
||||||
|
cmake -S . -B build -DCMAKE_PREFIX_PATH="$PREFIX"/lib/cmake
|
||||||
|
cmake --build build
|
40
.github/workflows/build.yml
vendored
40
.github/workflows/build.yml
vendored
@ -5,10 +5,43 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths: ['.github/workflows/build.yml', '.github/workflows/build-linux-cross.yml', '**/CMakeLists.txt', '**/.cmake', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal', '**/*.comp']
|
paths: [
|
||||||
|
'.github/workflows/build.yml',
|
||||||
|
'.github/workflows/build-linux-cross.yml',
|
||||||
|
'.github/workflows/build-cmake-pkg.yml',
|
||||||
|
'**/CMakeLists.txt',
|
||||||
|
'**/.cmake',
|
||||||
|
'**/*.h',
|
||||||
|
'**/*.hpp',
|
||||||
|
'**/*.c',
|
||||||
|
'**/*.cpp',
|
||||||
|
'**/*.cu',
|
||||||
|
'**/*.cuh',
|
||||||
|
'**/*.swift',
|
||||||
|
'**/*.m',
|
||||||
|
'**/*.metal',
|
||||||
|
'**/*.comp'
|
||||||
|
]
|
||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [opened, synchronize, reopened]
|
types: [opened, synchronize, reopened]
|
||||||
paths: ['.github/workflows/build.yml', '.github/workflows/build-linux-cross.yml', '**/CMakeLists.txt', '**/.cmake', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal', '**/*.comp']
|
paths: [
|
||||||
|
'.github/workflows/build.yml',
|
||||||
|
'.github/workflows/build-linux-cross.yml',
|
||||||
|
'.github/workflows/build-cmake-pkg.yml',
|
||||||
|
'**/CMakeLists.txt',
|
||||||
|
'**/.cmake',
|
||||||
|
'**/*.h',
|
||||||
|
'**/*.hpp',
|
||||||
|
'**/*.c',
|
||||||
|
'**/*.cpp',
|
||||||
|
'**/*.cu',
|
||||||
|
'**/*.cuh',
|
||||||
|
'**/*.swift',
|
||||||
|
'**/*.m',
|
||||||
|
'**/*.metal',
|
||||||
|
'**/*.comp'
|
||||||
|
]
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
||||||
@ -478,6 +511,9 @@ jobs:
|
|||||||
build-linux-cross:
|
build-linux-cross:
|
||||||
uses: ./.github/workflows/build-linux-cross.yml
|
uses: ./.github/workflows/build-linux-cross.yml
|
||||||
|
|
||||||
|
build-cmake-pkg:
|
||||||
|
uses: ./.github/workflows/build-cmake-pkg.yml
|
||||||
|
|
||||||
macOS-latest-cmake-ios:
|
macOS-latest-cmake-ios:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user