name: Tesla K80 Build on: workflow_dispatch: # Manual trigger only jobs: build: runs-on: self-hosted # Use specific labels if you want to target a particular self-hosted runner # runs-on: [self-hosted, linux, cuda, tesla-k80] timeout-minutes: 60 # Prevent hung jobs steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 # Full history for accurate versioning - name: Clean previous build run: | rm -rf build rm -f ollama - name: Configure CMake run: | CC=/usr/local/bin/gcc CXX=/usr/local/bin/g++ cmake -B build env: CMAKE_BUILD_TYPE: Release - name: Build C++/CUDA components run: | CC=/usr/local/bin/gcc CXX=/usr/local/bin/g++ cmake --build build -j$(nproc) timeout-minutes: 30 - name: Build Go binary run: | go build -v -o ollama . - name: Verify binary was created run: | ls -lh ollama ./ollama --version - name: Upload ollama binary and libraries as artifact uses: actions/upload-artifact@v4 with: name: ollama-binary path: | ollama build/lib/ollama/ retention-days: 7