mirror of
https://github.com/olofk/serv.git
synced 2026-01-13 15:17:25 +00:00
64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
compliance:
|
|
name: RISC-V Compliance Test
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: serv
|
|
|
|
- name: install fusesoc, verilator, gcc and riscof
|
|
run: |
|
|
sudo apt-get install -y python3-setuptools verilator gcc-riscv64-unknown-elf
|
|
pip3 install fusesoc
|
|
pip3 install git+https://github.com/riscv/riscof.git
|
|
|
|
- name: set root and SERV directory
|
|
run: |
|
|
echo "SERV=$GITHUB_WORKSPACE/serv" >> $GITHUB_ENV
|
|
echo "WORKSPACE=$GITHUB_WORKSPACE/" >> $GITHUB_ENV
|
|
|
|
- name: setup workspace
|
|
run: fusesoc library add serv $SERV
|
|
|
|
- name: Update submodule to add arch-tests
|
|
run: |
|
|
cd $SERV
|
|
git submodule init
|
|
git submodule update
|
|
|
|
- name: Setup SAIL-RISCV Model
|
|
run: |
|
|
tar -xzf $SERV/verif/bin/sail-riscv.tar.gz
|
|
echo $GITHUB_WORKSPACE/sail-riscv >> $GITHUB_PATH
|
|
|
|
- name: Run RV32I compliance tests
|
|
run: |
|
|
cd $SERV/verif
|
|
riscof run --config=config.ini --suite=riscv-arch-test/riscv-test-suite/rv32i_m/I --env=riscv-arch-test/riscv-test-suite/env --no-browser
|
|
|
|
- name: Run RV32IM compliance tests
|
|
run: |
|
|
cd $SERV/verif
|
|
riscof run --config=config.ini --suite=riscv-arch-test/riscv-test-suite/rv32i_m/M --env=riscv-arch-test/riscv-test-suite/env --no-browser
|
|
|
|
- name: Run RV32IC compliance tests
|
|
run: |
|
|
cd $SERV/verif
|
|
riscof run --config=config.ini --suite=riscv-arch-test/riscv-test-suite/rv32i_m/C --env=riscv-arch-test/riscv-test-suite/env --no-browser
|
|
|
|
- name: Run RV32I Zifencei compliance tests
|
|
run: |
|
|
cd $SERV/verif
|
|
riscof run --config=config.ini --suite=riscv-arch-test/riscv-test-suite/rv32i_m/Zifencei --env=riscv-arch-test/riscv-test-suite/env --no-browser
|
|
|
|
- name: Run RV32I Privilege compliance tests
|
|
run: |
|
|
cd $SERV/verif
|
|
riscof run --config=config.ini --suite=riscv-arch-test/riscv-test-suite/rv32i_m/privilege --env=riscv-arch-test/riscv-test-suite/env --no-browser
|
|
|