emu.yml 1.8 KB
Newer Older
L
LinJiawei 已提交
1 2 3 4 5
# This file describes the GitHub Actions workflow for continuous integration of XS Core.
name: EMU Test

on:
  push:
6
    branches: [ master, update-ci]
L
LinJiawei 已提交
7 8 9 10 11 12 13 14 15
  pull_request:
    branches: [ master ]

jobs:
  build-emu:
    runs-on: self-hosted
    name: Make EMU
    steps:
      - uses: actions/checkout@v2
Y
Yinan Xu 已提交
16 17
        with:
          submodules: 'recursive'
L
LinJiawei 已提交
18
      - name: Check Wiring
L
ljw 已提交
19
        run: bash .github/workflows/check-usage.sh "BoringUtils" $GITHUB_WORKSPACE
L
LinJiawei 已提交
20 21
      - name: Set env
        run: |
L
ljw 已提交
22 23 24 25
          echo "NEMU_HOME=/home/ci-runner/xsenv/NEMU" >> $GITHUB_ENV
          echo "NOOP_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV
          echo "RVTEST_HOME=/home/ci-runner/xsenv/riscv-tests" >> $GITHUB_ENV
          echo "AM_HOME=/home/ci-runner/xsenv/nexus-am" >> $GITHUB_ENV
L
LinJiawei 已提交
26
      - name: Build EMU
Y
Yinan Xu 已提交
27
        run:
28
          make ./build/emu SIM_ARGS=--disable-all NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME -j60
L
LinJiawei 已提交
29 30
      - name: Run cputest
        run: |
L
LinJiawei 已提交
31 32 33 34 35 36 37
          CPU_TEST_DIR=$AM_HOME/tests/cputest
          echo $CPU_TEST_DIR
          ret=0
          for test in $(ls $CPU_TEST_DIR/tests)
          do
              t=${test%.c}
              echo $t
38
              make -C $CPU_TEST_DIR ALL=$t ARCH=riscv64-noop AM_HOME=$AM_HOME NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME run 2>/dev/null | grep "HIT GOOD TRAP"
L
LinJiawei 已提交
39 40
              if [[ $? == 1 ]];
              then
L
LinJiawei 已提交
41 42 43 44 45
                  echo $t fail
                  ret=1
              fi
          done
          exit $ret
L
LinJiawei 已提交
46
      - name: Run riscv-tests
L
LinJiawei 已提交
47
        run: |
L
LinJiawei 已提交
48
          make -C $RVTEST_HOME/isa/ SUITES+=rv64ui SUITES+=rv64um SUITES+=rv64ua SUITES+=rv64uf SUITES+=rv64ud NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME noop_run 2> /dev/null
L
LinJiawei 已提交
49 50
      - name: Run microbench
        run: |
51
          make -C $AM_HOME/apps/microbench ARCH=riscv64-noop AM_HOME=$AM_HOME NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME mainargs=test run 2> /dev/null