name: Build on RISCV Linux Machine by Cloud-V on: pull_request: workflow_dispatch: workflow_call: jobs: debian-13-riscv64-native: # Bianbu 2.2 runs-on: [self-hosted, RISCV64] steps: - name: Install prerequisites run: | sudo apt-get update || true sudo apt-get install -y libatomic1 - uses: actions/checkout@v4 - name: Setup Riscv run: | sudo apt-get update || true sudo apt-get install -y --no-install-recommends \ build-essential \ gcc-14-riscv64-linux-gnu \ g++-14-riscv64-linux-gnu \ ccache \ cmake - name: Setup ccache run: | mkdir -p $HOME/.ccache ccache -M 5G -d $HOME/.ccache export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug" echo "$GITHUB_WORKSPACE" echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV - name: Build run: | cmake -B build \ -DLLAMA_CURL=OFF \ -DCMAKE_BUILD_TYPE=Release \ -DGGML_OPENMP=OFF \ -DLLAMA_BUILD_EXAMPLES=ON \ -DLLAMA_BUILD_TOOLS=ON \ -DLLAMA_BUILD_TESTS=OFF \ -DCMAKE_SYSTEM_NAME=Linux \ -DCMAKE_SYSTEM_PROCESSOR=riscv64 \ -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \ -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH cmake --build build --config Release -j $(nproc) # debian-13-riscv64-spacemit-ime-native: # Bianbu 2.2 # runs-on: [self-hosted, RISCV64] # steps: # - name: Install prerequisites # run: | # sudo apt-get update || true # sudo apt-get install -y libatomic1 # - uses: actions/checkout@v4 # - name: Setup Riscv # run: | # sudo apt-get update || true # sudo apt-get install -y --no-install-recommends \ # build-essential \ # gcc-14-riscv64-linux-gnu \ # g++-14-riscv64-linux-gnu \ # ccache \ # cmake # sudo apt-get upgrade binutils -y # - name: Setup ccache # run: | # mkdir -p $HOME/.ccache # ccache -M 5G -d $HOME/.ccache # export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log # export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug" # echo "$GITHUB_WORKSPACE" # echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV # echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV # echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV # echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV # - name: Build # run: | # cmake -B build \ # -DLLAMA_CURL=OFF \ # -DCMAKE_BUILD_TYPE=Release \ # -DGGML_OPENMP=OFF \ # -DLLAMA_BUILD_EXAMPLES=ON \ # -DLLAMA_BUILD_TOOLS=ON \ # -DLLAMA_BUILD_TESTS=OFF \ # -DCMAKE_SYSTEM_NAME=Linux \ # -DCMAKE_SYSTEM_PROCESSOR=riscv64 \ # -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \ # -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \ # -DCMAKE_C_COMPILER_LAUNCHER=ccache \ # -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ # -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ # -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \ # -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ # -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ # -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \ # -DGGML_RVV=ON \ # -DGGML_RV_ZFH=ON \ # -DGGML_RV_ZICBOP=ON \ # -DGGML_CPU_RISCV64_SPACEMIT=ON \ # -DRISCV64_SPACEMIT_IME_SPEC=RISCV64_SPACEMIT_IME1 # cmake --build build --config Release -j $(nproc)