diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index fc58cfcec..f5174c336 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -23,27 +23,71 @@ jobs: with: go-version: '1.21' cache: true - - if: ${{ startsWith(matrix.os, 'windows-') }} - shell: pwsh - run: | - $path = vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath - if ($path) { - $path = join-path $path 'Common7\Tools\vsdevcmd.bat' - if (test-path $path) { - cmd /s /c """$path"" $args && set" | where { $_ -match '(\w+)=(.*)' } | foreach { - echo "$($Matches[1])=$($Matches[2])" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append - } - } - } - - echo "C:\Program Files\Git\usr\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append - run: go get ./... - run: go generate -x ./... - 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: @@ -112,3 +156,7 @@ jobs: path: llm/llama.cpp/build - run: go build - run: go test -v ./... + - uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.os }}-binaries + path: ollama