CUDA support for pre-built library #85
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This work flow runs all Java tests for continuous integration. | |
# Since it has to build llama.cpp first, for speed, it only runs / tests on the natively supported GitHub runners. | |
name: Continuous Integration | |
on: [ "pull_request", "workflow_dispatch" ] | |
env: | |
MODEL_URL: "https://huggingface.co/TheBloke/CodeLlama-7B-GGUF/resolve/main/codellama-7b.Q2_K.gguf" | |
MODEL_NAME: "codellama-7b.Q2_K.gguf" | |
jobs: | |
# don't split build and test jobs to keep the workflow simple | |
build-and-test-linux: | |
name: ubuntu-latest | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: '11' | |
- name: Build libraries | |
# cmake should figure out OS and ARCH automatically when running build.sh (but we need mvn compile for it) | |
run: | | |
mvn compile | |
.github/build.sh -DLLAMA_VERBOSE=ON | |
- name: Download model | |
run: curl -L ${MODEL_URL} --create-dirs -o models/${MODEL_NAME} | |
- name: Run tests | |
run: mvn test | |
- if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ github.workspace }}/hs_err_pid*.log | |
if-no-files-found: warn | |
build-and-test-macos: | |
name: ${{ matrix.target.runner }} | |
runs-on: ${{ matrix.target.runner }} | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- { | |
runner: macos-13, | |
cmake: '-DLLAMA_METAL=OFF -DLLAMA_VERBOSE=ON' | |
} | |
- { | |
runner: macos-14, | |
cmake: '-DLLAMA_METAL_EMBED_LIBRARY=ON -DLLAMA_METAL=OFF -DLLAMA_VERBOSE=ON' | |
} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: '11' | |
- name: Build libraries | |
run: | | |
mvn compile | |
.github/build.sh ${{ matrix.target.cmake }} | |
- name: Download model | |
run: curl -L ${MODEL_URL} --create-dirs -o models/${MODEL_NAME} | |
- name: Run tests | |
run: mvn test | |
build-and-test-windows: | |
name: windows-latest | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: '11' | |
- name: Build libraries | |
run: | | |
mvn compile | |
.github\build.bat -DLLAMA_VERBOSE=ON | |
- name: Download model | |
run: curl -L $env:MODEL_URL --create-dirs -o models/$env:MODEL_NAME | |
- name: Run tests | |
run: mvn test | |
- if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ github.workspace }}\hs_err_pid*.log | |
if-no-files-found: warn |