Initial release
This commit is contained in:
+77
@@ -0,0 +1,77 @@
|
||||
# Validate that the project builds on Ubuntu and macOS (no model download).
|
||||
name: CI Build
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Build (Ubuntu)
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -y -qq cmake build-essential pkg-config libopenblas-dev
|
||||
mkdir build && cd build
|
||||
cmake .. -DGGML_BLAS=ON
|
||||
cmake --build . --config Release -j$(nproc)
|
||||
|
||||
- name: Build (macOS)
|
||||
if: matrix.os == 'macos-latest'
|
||||
run: |
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
cmake --build . --config Release -j$(sysctl -n hw.ncpu)
|
||||
|
||||
- name: Smoke test
|
||||
run: |
|
||||
./build/ace-lm --help 2>&1 | head -5
|
||||
./build/ace-synth --help 2>&1 | head -5
|
||||
./build/quantize --help 2>&1 | head -3
|
||||
|
||||
lint:
|
||||
name: Lint & Static Analysis
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'pull_request'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install lint tools
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -y -qq clang-format clang-tidy cppcheck
|
||||
|
||||
- name: Run clang-format (check mode)
|
||||
run: |
|
||||
find . \
|
||||
\( -path './.git' -o -path './ggml' -o -path './build' -o -path './vendor' -o -path './mp3' \) -prune -o \
|
||||
-type f \( -name '*.c' -o -name '*.h' -o -name '*.cc' -o -name '*.cpp' -o -name '*.hpp' \) \
|
||||
-print0 | xargs -0 clang-format --dry-run --Werror
|
||||
|
||||
- name: Run cppcheck
|
||||
run: |
|
||||
cppcheck --enable=all --error-exitcode=1 --inline-suppr \
|
||||
--suppress=missingIncludeSystem \
|
||||
--suppress=missingInclude \
|
||||
--suppress=cstyleCast \
|
||||
--suppress=constVariable \
|
||||
--suppress=constVariablePointer \
|
||||
--suppress=constParameterPointer \
|
||||
--suppress=variableScope \
|
||||
--suppress=uselessCallsSubstr \
|
||||
--suppress=useStlAlgorithm \
|
||||
--suppress=shiftNegativeLHS \
|
||||
-i ggml -i build -i .git -i mp3 \
|
||||
.
|
||||
Reference in New Issue
Block a user