build-riscv-native.yml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. name: Build on RISCV Linux Machine by Cloud-V
  2. on:
  3. pull_request:
  4. workflow_dispatch:
  5. workflow_call:
  6. jobs:
  7. debian-13-riscv64-native: # Bianbu 2.2
  8. runs-on: [self-hosted, RISCV64]
  9. steps:
  10. - name: Install prerequisites
  11. run: |
  12. sudo apt-get update || true
  13. sudo apt-get install -y libatomic1
  14. - uses: actions/checkout@v4
  15. - name: Setup Riscv
  16. run: |
  17. sudo apt-get update || true
  18. sudo apt-get install -y --no-install-recommends \
  19. build-essential \
  20. gcc-14-riscv64-linux-gnu \
  21. g++-14-riscv64-linux-gnu \
  22. ccache \
  23. cmake
  24. - name: Setup ccache
  25. run: |
  26. mkdir -p $HOME/.ccache
  27. ccache -M 5G -d $HOME/.ccache
  28. export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log
  29. export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug"
  30. echo "$GITHUB_WORKSPACE"
  31. echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV
  32. echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV
  33. echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV
  34. echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV
  35. - name: Build
  36. run: |
  37. cmake -B build \
  38. -DLLAMA_CURL=OFF \
  39. -DCMAKE_BUILD_TYPE=Release \
  40. -DGGML_OPENMP=OFF \
  41. -DLLAMA_BUILD_EXAMPLES=ON \
  42. -DLLAMA_BUILD_TOOLS=ON \
  43. -DLLAMA_BUILD_TESTS=OFF \
  44. -DCMAKE_SYSTEM_NAME=Linux \
  45. -DCMAKE_SYSTEM_PROCESSOR=riscv64 \
  46. -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
  47. -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \
  48. -DCMAKE_C_COMPILER_LAUNCHER=ccache \
  49. -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
  50. -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  51. -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \
  52. -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
  53. -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
  54. -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
  55. cmake --build build --config Release -j $(nproc)
  56. # debian-13-riscv64-spacemit-ime-native: # Bianbu 2.2
  57. # runs-on: [self-hosted, RISCV64]
  58. # steps:
  59. # - name: Install prerequisites
  60. # run: |
  61. # sudo apt-get update || true
  62. # sudo apt-get install -y libatomic1
  63. # - uses: actions/checkout@v4
  64. # - name: Setup Riscv
  65. # run: |
  66. # sudo apt-get update || true
  67. # sudo apt-get install -y --no-install-recommends \
  68. # build-essential \
  69. # gcc-14-riscv64-linux-gnu \
  70. # g++-14-riscv64-linux-gnu \
  71. # ccache \
  72. # cmake
  73. # sudo apt-get upgrade binutils -y
  74. # - name: Setup ccache
  75. # run: |
  76. # mkdir -p $HOME/.ccache
  77. # ccache -M 5G -d $HOME/.ccache
  78. # export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log
  79. # export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug"
  80. # echo "$GITHUB_WORKSPACE"
  81. # echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV
  82. # echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV
  83. # echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV
  84. # echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV
  85. # - name: Build
  86. # run: |
  87. # cmake -B build \
  88. # -DLLAMA_CURL=OFF \
  89. # -DCMAKE_BUILD_TYPE=Release \
  90. # -DGGML_OPENMP=OFF \
  91. # -DLLAMA_BUILD_EXAMPLES=ON \
  92. # -DLLAMA_BUILD_TOOLS=ON \
  93. # -DLLAMA_BUILD_TESTS=OFF \
  94. # -DCMAKE_SYSTEM_NAME=Linux \
  95. # -DCMAKE_SYSTEM_PROCESSOR=riscv64 \
  96. # -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
  97. # -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \
  98. # -DCMAKE_C_COMPILER_LAUNCHER=ccache \
  99. # -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
  100. # -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  101. # -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \
  102. # -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
  103. # -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
  104. # -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \
  105. # -DGGML_RVV=ON \
  106. # -DGGML_RV_ZFH=ON \
  107. # -DGGML_RV_ZICBOP=ON \
  108. # -DGGML_CPU_RISCV64_SPACEMIT=ON \
  109. # -DRISCV64_SPACEMIT_IME_SPEC=RISCV64_SPACEMIT_IME1
  110. # cmake --build build --config Release -j $(nproc)