|
@@ -28,8 +28,66 @@ jobs:
|
|
|
- uses: actions/upload-artifact@v4
|
|
|
with:
|
|
|
name: ${{ matrix.os }}-${{ matrix.arch }}-libraries
|
|
|
- path: |
|
|
|
- llm/llama.cpp/build/**/lib/*
|
|
|
+ path: llm/llama.cpp/build/**/lib/*
|
|
|
+ generate-cuda:
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ cuda-version:
|
|
|
+ - '11.8.0'
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ container: nvidia/cuda:${{ matrix.cuda-version }}-devel-ubuntu20.04
|
|
|
+ steps:
|
|
|
+ - run: |
|
|
|
+ apt-get update && apt-get install -y git build-essential curl
|
|
|
+ curl -fsSL https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-linux-x86_64.tar.gz \
|
|
|
+ | tar -zx -C /usr --strip-components 1
|
|
|
+ env:
|
|
|
+ DEBIAN_FRONTEND: noninteractive
|
|
|
+ - uses: actions/checkout@v4
|
|
|
+ - uses: actions/setup-go@v4
|
|
|
+ with:
|
|
|
+ go-version: '1.21'
|
|
|
+ cache: true
|
|
|
+ - run: go get ./...
|
|
|
+ - run: |
|
|
|
+ git config --global --add safe.directory /__w/ollama/ollama
|
|
|
+ go generate -x ./...
|
|
|
+ env:
|
|
|
+ OLLAMA_SKIP_CPU_GENERATE: '1'
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ with:
|
|
|
+ name: cuda-${{ matrix.cuda-version }}-libraries
|
|
|
+ path: llm/llama.cpp/build/**/lib/*
|
|
|
+ generate-rocm:
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ rocm-version:
|
|
|
+ - '5.7.1'
|
|
|
+ - '6.0'
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ container: rocm/dev-ubuntu-20.04:${{ matrix.rocm-version }}
|
|
|
+ steps:
|
|
|
+ - run: |
|
|
|
+ apt-get update && apt-get install -y git build-essential curl rocm-libs
|
|
|
+ curl -fsSL https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-linux-x86_64.tar.gz \
|
|
|
+ | tar -zx -C /usr --strip-components 1
|
|
|
+ env:
|
|
|
+ DEBIAN_FRONTEND: noninteractive
|
|
|
+ - uses: actions/checkout@v4
|
|
|
+ - uses: actions/setup-go@v4
|
|
|
+ with:
|
|
|
+ go-version: '1.21'
|
|
|
+ cache: true
|
|
|
+ - run: go get ./...
|
|
|
+ - run: |
|
|
|
+ git config --global --add safe.directory /__w/ollama/ollama
|
|
|
+ go generate -x ./...
|
|
|
+ env:
|
|
|
+ OLLAMA_SKIP_CPU_GENERATE: '1'
|
|
|
+ - uses: actions/upload-artifact@v4
|
|
|
+ with:
|
|
|
+ name: rocm-${{ matrix.rocm-version }}-libraries
|
|
|
+ path: llm/llama.cpp/build/**/lib/*
|
|
|
lint:
|
|
|
strategy:
|
|
|
matrix:
|
|
@@ -69,7 +127,10 @@ jobs:
|
|
|
if: ${{ startsWith(matrix.os, 'windows-') }}
|
|
|
- uses: golangci/golangci-lint-action@v3
|
|
|
test:
|
|
|
- needs: generate
|
|
|
+ needs:
|
|
|
+ - generate
|
|
|
+ - generate-cuda
|
|
|
+ - generate-rocm
|
|
|
strategy:
|
|
|
matrix:
|
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
@@ -96,5 +157,20 @@ jobs:
|
|
|
with:
|
|
|
name: ${{ matrix.os }}-${{ matrix.arch }}-libraries
|
|
|
path: llm/llama.cpp/build
|
|
|
+ - if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
|
+ uses: actions/download-artifact@v4
|
|
|
+ with:
|
|
|
+ name: cuda-11.8.0-libraries
|
|
|
+ path: llm/llama.cpp/build
|
|
|
+ - if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
|
+ uses: actions/download-artifact@v4
|
|
|
+ with:
|
|
|
+ name: rocm-5.7.1-libraries
|
|
|
+ path: llm/llama.cpp/build
|
|
|
+ - if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
|
+ uses: actions/download-artifact@v4
|
|
|
+ with:
|
|
|
+ name: rocm-6.0-libraries
|
|
|
+ path: llm/llama.cpp/build
|
|
|
- run: go build
|
|
|
- run: go test -v ./...
|