build-riscv-native.yml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. name: Build on RISCV Linux Machine by Cloud-V
  2. on:
  3. workflow_dispatch:
  4. workflow_call:
  5. jobs:
  6. bianbu-riscv64-native: # Bianbu 2.2
  7. runs-on: self-hosted
  8. steps:
  9. - name: Install prerequisites
  10. run: |
  11. sudo apt-get update || true
  12. sudo apt-get install -y libatomic1
  13. - uses: actions/checkout@v4
  14. - name: Setup Riscv
  15. run: |
  16. sudo apt-get update || true
  17. sudo apt-get install -y --no-install-recommends \
  18. build-essential \
  19. gcc-14-riscv64-linux-gnu \
  20. g++-14-riscv64-linux-gnu \
  21. cmake
  22. - name: Build
  23. run: |
  24. cmake -B build -DLLAMA_CURL=OFF \
  25. -DCMAKE_BUILD_TYPE=Release \
  26. -DGGML_OPENMP=OFF \
  27. -DLLAMA_BUILD_EXAMPLES=ON \
  28. -DLLAMA_BUILD_TOOLS=ON \
  29. -DLLAMA_BUILD_TESTS=OFF \
  30. -DCMAKE_SYSTEM_NAME=Linux \
  31. -DCMAKE_SYSTEM_PROCESSOR=riscv64 \
  32. -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
  33. -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \
  34. -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  35. -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \
  36. -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
  37. -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
  38. -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
  39. cmake --build build --config Release -j $(nproc)