diff options
-rw-r--r-- | .github/workflows/spike-openocd-tests.yml | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/.github/workflows/spike-openocd-tests.yml b/.github/workflows/spike-openocd-tests.yml new file mode 100644 index 0000000..0f2bca3 --- /dev/null +++ b/.github/workflows/spike-openocd-tests.yml @@ -0,0 +1,76 @@ +# Build spike and run a couple of debug tests. + +name: Test OpenOCD against 2 spike configurations + +on: pull_request + +# There is some commented out code below that would be useful in adding this +# workflow to other repos. Ideally we can come up with something that would +# leave this file almost identical between repos, so they can all easily run +# this test suite. + +jobs: + test: + name: Test debug (Ubuntu) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Install Dependencies + run: | + sudo apt install build-essential device-tree-compiler + +# - name: Download OpenOCD +# run: | +# git clone --recurse-submodules https://github.com/riscv/riscv-openocd.git +# cd riscv-openocd +# git checkout 43ea20dfbb6c815004a51106a3b2009d7f6c4940 + + - name: Build OpenOCD + run: | + #cd riscv-openocd + ./bootstrap + ./configure + make -j"$(nproc 2> /dev/null || sysctl -n hw.ncpu)" + ls -l src/openocd + + - name: Download Toolchain + run: wget --progress=dot:giga https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v12.2.0-1/xpack-riscv-none-elf-gcc-12.2.0-1-linux-x64.tar.gz + + - name: Install Toolchain + run: tar zxf xpack-riscv-none-elf-gcc-12.2.0-1-linux-x64.tar.gz + + - name: Download spike + run: | + git clone --recurse-submodules https://github.com/riscv-software-src/riscv-isa-sim + #cd riscv-isa-sim + #git checkout 43ea20dfbb6c815004a51106a3b2009d7f6c4940 + + - name: Build Spike + run: | + cd riscv-isa-sim + mkdir build install + cd build + ../configure --prefix=`pwd`/install + make -j"$(nproc 2> /dev/null || sysctl -n hw.ncpu)" + make install + + - name: Download Tests + run: | + git clone --recurse-submodules https://github.com/riscv-software-src/riscv-tests.git + #cd riscv-tests + #git checkout c84daca8824635b7d896003c78f9c6245997cf7a + + - name: Run Tests + run: | + cd riscv-tests/debug + ./gdbserver.py targets/RISC-V/spike32.py --print-failures \ + --gcc $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gcc \ + --gdb $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gdb \ + --sim_cmd $GITHUB_WORKSPACE/riscv-isa-sim/build/install/bin/spike \ + --server_cmd $GITHUB_WORKSPACE/src/openocd + ./gdbserver.py targets/RISC-V/spike64-2.py --print-failures \ + --gcc $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gcc \ + --gdb $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gdb \ + --sim_cmd $GITHUB_WORKSPACE/riscv-isa-sim/build/install/bin/spike \ + --server_cmd $GITHUB_WORKSPACE/src/openocd |