name: Ubuntu rvv VLEN=128 (clang 17)

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v4
    - name: Install packages
      run: |
        sudo apt-get update -q -y
        sudo apt-get install -y cmake make g++-riscv64-linux-gnu qemu-user-static clang-17
    - name: Build
      run: |
        CXX=clang++-17 CXXFLAGS="--target=riscv64-linux-gnu -march=rv64gcv" \
        cmake --toolchain=cmake/toolchains-ci/riscv64-linux-gnu.cmake -DCMAKE_BUILD_TYPE=Release -B build
        cmake --build build/ -j$(nproc)
    - name: Test VLEN=128
      run: |
        export QEMU_LD_PREFIX="/usr/riscv64-linux-gnu"
        export QEMU_CPU="rv64,v=on,vlen=128,rvv_ta_all_1s=on,rvv_ma_all_1s=on"
        ctest --timeout 1800 --output-on-failure --test-dir build -j $(nproc)
