Skip to content

Commit

Permalink
automate RISC-V compliance check with github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
ekiwi authored and olofk committed Dec 6, 2020
1 parent d6445b9 commit ec8cb03
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: serv ci

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
compliance:
name: RISC-V Compliance Test
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v2

- name: install fusesoc, verilator and gcc
run: |
sudo apt-get install -y python3-setuptools verilator gcc-riscv64-unknown-elf
pip3 install --user fusesoc
echo "~/.local/bin" >> $GITHUB_PATH
- name: init fusesoc
run: fusesoc init -y

- name: set SERV directory
run: echo "SERV=$GITHUB_WORKSPACE/.." >> $GITHUB_ENV

- name: setup workspace
run: |
ls $GITHUB_WORKSPACE
mkdir $SERV/workspace
cd $SERV/workspace
fusesoc library add serv $SERV
- name: lint
run: |
cd $SERV/workspace
fusesoc run --target=lint serv
- name: build servant
run: |
cd $SERV/workspace
fusesoc run --target=verilator_tb --setup --build --build-root=servant_x servant
- name: download risc-v compliance
run: |
cd $SERV
git clone https://github.com/riscv/riscv-compliance
- name: run risc-v compliance
run: |
cd $SERV/riscv-compliance
make TARGETDIR=$SERV/serv/riscv-target RISCV_TARGET=serv RISCV_DECICE=rv32i RISCV_ISA=rv32i TARGET_SIM=$SERV/workspace/build/servant_x/verilator_tb-verilator/Vservant_sim

0 comments on commit ec8cb03

Please sign in to comment.