Extract extract_first_embedding_row from embed() into jni_server_help… #147
Workflow file for this run
This file contains hidden or 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
| name: Build, Test and Release | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| inputs: | |
| release_to_maven_central: | |
| description: 'Release to Maven Central (true/false)' | |
| required: false | |
| default: 'false' | |
| release: | |
| types: [ created ] | |
| env: | |
| MODEL_URL: "https://huggingface.co/TheBloke/CodeLlama-7B-GGUF/resolve/main/codellama-7b.Q2_K.gguf" | |
| MODEL_NAME: "codellama-7b.Q2_K.gguf" | |
| RERANKING_MODEL_URL: "https://huggingface.co/gpustack/jina-reranker-v1-tiny-en-GGUF/resolve/main/jina-reranker-v1-tiny-en-Q4_0.gguf" | |
| RERANKING_MODEL_NAME: "jina-reranker-v1-tiny-en-Q4_0.gguf" | |
| DRAFT_MODEL_URL: "https://huggingface.co/QuantFactory/AMD-Llama-135m-code-GGUF/resolve/main/AMD-Llama-135m-code.Q2_K.gguf" | |
| DRAFT_MODEL_NAME: "AMD-Llama-135m-code.Q2_K.gguf" | |
| jobs: | |
| # --------------------------------------------------------------------------- | |
| # Cross-compile jobs (Docker / dockcross) — produce release artifacts, no testing | |
| # --------------------------------------------------------------------------- | |
| crosscompile-linux-x86_64-cuda: | |
| name: Cross-Compile manylinux_2_28 x86_64 (CUDA) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== Host CPU Information ===" | |
| lscpu | |
| echo "" | |
| echo "=== CPU Details from /proc/cpuinfo ===" | |
| cat /proc/cpuinfo | |
| - name: Build libraries | |
| shell: bash | |
| run: | | |
| .github/dockcross/dockcross-manylinux_2_28-x64 .github/build_cuda_linux.sh "-DOS_NAME=Linux -DOS_ARCH=x86_64" | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: linux-libraries-cuda | |
| path: ${{ github.workspace }}/src/main/resources_linux_cuda/de/kherud/llama/ | |
| crosscompile-linux-x86_64: | |
| name: Cross-Compile manylinux2014 x86_64 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== Host CPU Information ===" | |
| lscpu | |
| echo "" | |
| echo "=== CPU Details from /proc/cpuinfo ===" | |
| cat /proc/cpuinfo | |
| - name: Build libraries | |
| shell: bash | |
| run: | | |
| .github/dockcross/dockcross-manylinux2014-x64 .github/build.sh "-DOS_NAME=Linux -DOS_ARCH=x86_64" | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: Linux-x86_64-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| crosscompile-linux-aarch64: | |
| name: Cross-Compile Linux aarch64 (LTS) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== Host CPU Information ===" | |
| lscpu | |
| echo "" | |
| echo "=== CPU Details from /proc/cpuinfo ===" | |
| cat /proc/cpuinfo | |
| - name: Build libraries | |
| shell: bash | |
| run: | | |
| .github/dockcross/dockcross-linux-arm64-lts .github/build.sh "-DOS_NAME=Linux -DOS_ARCH=aarch64" | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: Linux-aarch64-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| crosscompile-android-aarch64: | |
| name: Cross-Compile Android aarch64 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== Host CPU Information ===" | |
| lscpu | |
| echo "" | |
| echo "=== CPU Details from /proc/cpuinfo ===" | |
| cat /proc/cpuinfo | |
| - name: Build libraries | |
| shell: bash | |
| run: | | |
| .github/dockcross/dockcross-android-arm64 .github/build.sh "-DANDROID_PLATFORM=android-24 -DOS_NAME=Linux-Android -DOS_ARCH=aarch64" | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: Linux-Android-aarch64-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| # --------------------------------------------------------------------------- | |
| # Native build jobs — produce release artifacts + run C++ unit tests | |
| # --------------------------------------------------------------------------- | |
| build-macos-arm64-no-metal: | |
| name: Build and Test macOS 15 arm64 (no Metal) | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== CPU Information ===" | |
| sysctl hw.model hw.cachelinesize hw.cpufrequency hw.cachesize hw.physicalcpu hw.logicalcpu hw.packages hw.memsize hw.ncpu 2>/dev/null || true | |
| echo "" | |
| echo "=== Processor Details ===" | |
| system_profiler SPHardwareDataType | |
| - name: Build libraries | |
| shell: bash | |
| run: | | |
| mvn compile | |
| .github/build.sh -DLLAMA_METAL=OFF -DGGML_NATIVE=OFF -DBUILD_TESTING=ON | |
| - name: Run C++ unit tests | |
| run: ctest --test-dir build --output-on-failure | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: macos-15-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| build-macos-arm64-metal: | |
| name: Build and Test macOS 14 arm64 (Metal) | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== CPU Information ===" | |
| sysctl hw.model hw.cachelinesize hw.cpufrequency hw.cachesize hw.physicalcpu hw.logicalcpu hw.packages hw.memsize hw.ncpu 2>/dev/null || true | |
| echo "" | |
| echo "=== Processor Details ===" | |
| system_profiler SPHardwareDataType | |
| - name: Build libraries | |
| shell: bash | |
| run: | | |
| mvn compile | |
| .github/build.sh -DLLAMA_METAL_EMBED_LIBRARY=ON -DBUILD_TESTING=ON | |
| - name: Run C++ unit tests | |
| run: ctest --test-dir build --output-on-failure | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: macos-14-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| build-windows-x86_64: | |
| name: Build and Test Windows 2022 x86_64 | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: pwsh | |
| run: | | |
| Write-Host "=== CPU Information (Get-CimInstance - All Properties) ===" | |
| Get-CimInstance Win32_Processor | Select-Object * | Format-List | |
| Write-Host "" | |
| Write-Host "=== CPU Information (systeminfo) ===" | |
| systeminfo | Select-String "Processor" | |
| Write-Host "" | |
| Write-Host "=== CPU Information (Get-ComputerInfo) ===" | |
| Get-ComputerInfo -Property "CsProcessors*" 2>$null || Write-Host "Get-ComputerInfo not available" | |
| - name: Build libraries | |
| shell: cmd | |
| run: | | |
| .github\build.bat -G "Visual Studio 17 2022" -A "x64" -DOS_NAME=Windows -DOS_ARCH=x86_64 -DBUILD_TESTING=ON | |
| - name: Run C++ unit tests | |
| run: ctest --test-dir build --output-on-failure | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: Windows-x86_64-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| build-windows-x86: | |
| name: Build and Test Windows 2022 x86 | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: pwsh | |
| run: | | |
| Write-Host "=== CPU Information (Get-CimInstance - All Properties) ===" | |
| Get-CimInstance Win32_Processor | Select-Object * | Format-List | |
| Write-Host "" | |
| Write-Host "=== CPU Information (systeminfo) ===" | |
| systeminfo | Select-String "Processor" | |
| Write-Host "" | |
| Write-Host "=== CPU Information (Get-ComputerInfo) ===" | |
| Get-ComputerInfo -Property "CsProcessors*" 2>$null || Write-Host "Get-ComputerInfo not available" | |
| - name: Build libraries | |
| shell: cmd | |
| run: | | |
| .github\build.bat -G "Visual Studio 17 2022" -A "Win32" -DOS_NAME=Windows -DOS_ARCH=x86 -DBUILD_TESTING=ON | |
| - name: Run C++ unit tests | |
| run: ctest --test-dir build --output-on-failure | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: Windows-x86-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| # --------------------------------------------------------------------------- | |
| # CI-only jobs — no release artifact, purely for test coverage | |
| # --------------------------------------------------------------------------- | |
| test-cpp-linux-x86_64: | |
| name: C++ Tests Ubuntu Latest x86_64 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| - name: Display CPU Info | |
| run: | | |
| echo "=== CPU Information ===" | |
| lscpu | |
| echo "" | |
| echo "=== CPU Details from /proc/cpuinfo ===" | |
| cat /proc/cpuinfo | |
| - name: Build libraries | |
| run: | | |
| mvn -q compile | |
| .github/build.sh -DBUILD_TESTING=ON | |
| - name: Run C++ unit tests | |
| run: ctest --test-dir build --output-on-failure | |
| test-macos-arm64-metal-15: | |
| name: Build and Test macOS 15 arm64 (Metal) | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== CPU Information ===" | |
| sysctl hw.model hw.cachelinesize hw.cpufrequency hw.cachesize hw.physicalcpu hw.logicalcpu hw.packages hw.memsize hw.ncpu 2>/dev/null || true | |
| echo "" | |
| echo "=== Processor Details ===" | |
| system_profiler SPHardwareDataType | |
| - name: Build libraries | |
| shell: bash | |
| run: | | |
| mvn compile | |
| .github/build.sh -DLLAMA_METAL_EMBED_LIBRARY=ON -DGGML_NATIVE=OFF -DBUILD_TESTING=ON | |
| - name: Run C++ unit tests | |
| run: ctest --test-dir build --output-on-failure | |
| - name: Download text generation model | |
| run: curl -L --fail ${MODEL_URL} --create-dirs -o models/${MODEL_NAME} | |
| - name: Download reranking model | |
| run: curl -L --fail ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME} | |
| - name: Download draft model | |
| run: curl -L --fail ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME} | |
| - name: List files in models directory | |
| run: ls -l models/ | |
| - name: Validate model files | |
| run: bash .github/validate-models.sh | |
| - name: Enable core dumps | |
| run: ulimit -c unlimited | |
| - name: Run Java tests | |
| run: mvn --no-transfer-progress test | |
| - name: Memory after tests | |
| if: always() | |
| run: vm_stat && sysctl hw.memsize hw.physmem | |
| - if: failure() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: error-log-macos-15-metal | |
| path: | | |
| ${{ github.workspace }}/hs_err_pid*.log | |
| ${{ github.workspace }}/target/surefire-reports/*.dump | |
| ${{ github.workspace }}/target/surefire-reports/*.dumpstream | |
| if-no-files-found: warn | |
| # --------------------------------------------------------------------------- | |
| # Java test jobs — download release artifact, run mvn test | |
| # --------------------------------------------------------------------------- | |
| test-java-linux-x86_64: | |
| name: Java Tests Ubuntu Latest x86_64 | |
| needs: crosscompile-linux-x86_64 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== CPU Information ===" | |
| lscpu | |
| echo "" | |
| echo "=== CPU Details from /proc/cpuinfo ===" | |
| cat /proc/cpuinfo | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| name: Linux-x86_64-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| - name: Download text generation model | |
| run: curl -L --fail ${MODEL_URL} --create-dirs -o models/${MODEL_NAME} | |
| - name: Download reranking model | |
| run: curl -L --fail ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME} | |
| - name: Download draft model | |
| run: curl -L --fail ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME} | |
| - name: List files in models directory | |
| run: ls -l models/ | |
| - name: Validate model files | |
| run: bash .github/validate-models.sh | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| - name: Memory before tests | |
| run: free -h | |
| - name: Enable core dumps | |
| run: | | |
| ulimit -c unlimited | |
| echo "${{ github.workspace }}/core.%e.%p" | sudo tee /proc/sys/kernel/core_pattern | |
| - name: Run tests | |
| run: mvn --no-transfer-progress test | |
| - name: Memory after tests | |
| if: always() | |
| run: free -h | |
| - if: failure() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: error-log-linux-x86_64 | |
| path: | | |
| ${{ github.workspace }}/hs_err_pid*.log | |
| ${{ github.workspace }}/core.* | |
| ${{ github.workspace }}/target/surefire-reports/*.dump | |
| ${{ github.workspace }}/target/surefire-reports/*.dumpstream | |
| if-no-files-found: warn | |
| test-java-macos-arm64-metal: | |
| name: Java Tests macOS 14 arm64 (Metal) | |
| needs: build-macos-arm64-metal | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== CPU Information ===" | |
| sysctl hw.model hw.cachelinesize hw.cpufrequency hw.cachesize hw.physicalcpu hw.logicalcpu hw.packages hw.memsize hw.ncpu 2>/dev/null || true | |
| echo "" | |
| echo "=== Processor Details ===" | |
| system_profiler SPHardwareDataType | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| name: macos-14-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| - name: Download text generation model | |
| run: curl -L --fail ${MODEL_URL} --create-dirs -o models/${MODEL_NAME} | |
| - name: Download reranking model | |
| run: curl -L --fail ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME} | |
| - name: Download draft model | |
| run: curl -L --fail ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME} | |
| - name: List files in models directory | |
| run: ls -l models/ | |
| - name: Validate model files | |
| run: bash .github/validate-models.sh | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| - name: Memory before tests | |
| run: vm_stat && sysctl hw.memsize hw.physmem | |
| - name: Enable core dumps | |
| run: ulimit -c unlimited | |
| - name: Run tests | |
| run: mvn --no-transfer-progress -Dde.kherud.llama.test.ngl=0 test | |
| - name: Memory after tests | |
| if: always() | |
| run: vm_stat && sysctl hw.memsize hw.physmem | |
| - if: failure() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: error-log-macos-14-metal | |
| path: | | |
| ${{ github.workspace }}/hs_err_pid*.log | |
| ${{ github.workspace }}/target/surefire-reports/*.dump | |
| ${{ github.workspace }}/target/surefire-reports/*.dumpstream | |
| if-no-files-found: warn | |
| test-java-macos-arm64-no-metal: | |
| name: Java Tests macOS 15 arm64 (no Metal) | |
| needs: build-macos-arm64-no-metal | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: bash | |
| run: | | |
| echo "=== CPU Information ===" | |
| sysctl hw.model hw.cachelinesize hw.cpufrequency hw.cachesize hw.physicalcpu hw.logicalcpu hw.packages hw.memsize hw.ncpu 2>/dev/null || true | |
| echo "" | |
| echo "=== Processor Details ===" | |
| system_profiler SPHardwareDataType | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| name: macos-15-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| - name: Download text generation model | |
| run: curl -L --fail ${MODEL_URL} --create-dirs -o models/${MODEL_NAME} | |
| - name: Download reranking model | |
| run: curl -L --fail ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME} | |
| - name: Download draft model | |
| run: curl -L --fail ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME} | |
| - name: List files in models directory | |
| run: ls -l models/ | |
| - name: Validate model files | |
| run: bash .github/validate-models.sh | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| - name: Memory before tests | |
| run: vm_stat && sysctl hw.memsize hw.physmem | |
| - name: Enable core dumps | |
| run: ulimit -c unlimited | |
| - name: Run tests | |
| run: mvn --no-transfer-progress test | |
| - name: Memory after tests | |
| if: always() | |
| run: vm_stat && sysctl hw.memsize hw.physmem | |
| - if: failure() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: error-log-macos-15-no-metal | |
| path: | | |
| ${{ github.workspace }}/hs_err_pid*.log | |
| ${{ github.workspace }}/target/surefire-reports/*.dump | |
| ${{ github.workspace }}/target/surefire-reports/*.dumpstream | |
| if-no-files-found: warn | |
| test-java-windows-x86_64: | |
| name: Java Tests Windows Latest x86_64 | |
| needs: build-windows-x86_64 | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Display CPU Info | |
| shell: pwsh | |
| run: | | |
| Write-Host "=== CPU Information (Get-CimInstance - All Properties) ===" | |
| Get-CimInstance Win32_Processor | Select-Object * | Format-List | |
| Write-Host "" | |
| Write-Host "=== CPU Information (systeminfo) ===" | |
| systeminfo | Select-String "Processor" | |
| Write-Host "" | |
| Write-Host "=== CPU Information (Get-ComputerInfo) ===" | |
| Get-ComputerInfo -Property "CsProcessors*" 2>$null || Write-Host "Get-ComputerInfo not available" | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| name: Windows-x86_64-libraries | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| - name: Download text generation model | |
| run: curl -L --fail $env:MODEL_URL --create-dirs -o models/$env:MODEL_NAME | |
| - name: Download reranking model | |
| run: curl -L --fail $env:RERANKING_MODEL_URL --create-dirs -o models/$env:RERANKING_MODEL_NAME | |
| - name: Download draft model | |
| run: curl -L --fail $env:DRAFT_MODEL_URL --create-dirs -o models/$env:DRAFT_MODEL_NAME | |
| - name: List files in models directory | |
| run: ls -l models/ | |
| - name: Validate model files | |
| run: .github\validate-models.bat | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| - name: Memory before tests | |
| run: Get-CimInstance Win32_OperatingSystem | Select-Object FreePhysicalMemory,TotalVisibleMemorySize | Format-List | |
| shell: pwsh | |
| - name: Run tests | |
| run: mvn --no-transfer-progress test | |
| - name: Memory after tests | |
| if: always() | |
| run: Get-CimInstance Win32_OperatingSystem | Select-Object FreePhysicalMemory,TotalVisibleMemorySize | Format-List | |
| shell: pwsh | |
| - if: failure() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: windows-output | |
| path: | | |
| ${{ github.workspace }}\hs_err_pid*.log | |
| ${{ github.workspace }}\target\surefire-reports\*.dump | |
| ${{ github.workspace }}\target\surefire-reports\*.dumpstream | |
| ${{ github.workspace }}/src/main/resources/de/kherud/llama/**/* | |
| if-no-files-found: warn | |
| # --------------------------------------------------------------------------- | |
| # Package and publish | |
| # --------------------------------------------------------------------------- | |
| package: | |
| name: Package JARs | |
| needs: | |
| - crosscompile-linux-x86_64-cuda | |
| - crosscompile-linux-aarch64 | |
| - crosscompile-android-aarch64 | |
| - build-windows-x86 | |
| - test-cpp-linux-x86_64 | |
| - test-macos-arm64-metal-15 | |
| - test-java-linux-x86_64 | |
| - test-java-macos-arm64-metal | |
| - test-java-macos-arm64-no-metal | |
| - test-java-windows-x86_64 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| pattern: "*-libraries" | |
| merge-multiple: true | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| name: linux-libraries-cuda | |
| path: ${{ github.workspace }}/src/main/resources_linux_cuda/de/kherud/llama/ | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '8' | |
| - name: Build JARs | |
| run: mvn --batch-mode --no-transfer-progress -P release -Dmaven.test.skip=true -Dgpg.skip=true package | |
| - name: Upload JARs | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: llama-jars | |
| path: target/*.jar | |
| publish: | |
| if: ${{ github.event_name == 'release' || github.event.inputs.release_to_maven_central == 'true' }} | |
| needs: [ package ] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| pattern: "*-libraries" | |
| merge-multiple: true | |
| path: ${{ github.workspace }}/src/main/resources/de/kherud/llama/ | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| name: linux-libraries-cuda | |
| path: ${{ github.workspace }}/src/main/resources_linux_cuda/de/kherud/llama/ | |
| - name: Set up Maven Central Repository | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '17' | |
| distribution: 'zulu' | |
| server-id: ossrh | |
| server-username: MAVEN_USERNAME | |
| server-password: MAVEN_PASSWORD | |
| gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} | |
| gpg-passphrase: MAVEN_GPG_PASSPHRASE | |
| - name: Publish package | |
| run: mvn --batch-mode -P release -Dmaven.test.skip=true deploy | |
| env: | |
| MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} | |
| MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} |