riscv-openocd/.github/workflows/spike-openocd-tests.yml

77 lines
2.9 KiB
YAML

# 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