emu.yml 2.9 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 22 23 24
      - name: Set env
        run: |
          echo ::set-env name=NEMU_HOME::/home/ci-runner/xsenv/NEMU
          echo ::set-env name=NOOP_HOME::$GITHUB_WORKSPACE
      - name: Build EMU
Y
Yinan Xu 已提交
25
        run:
Y
Yinan Xu 已提交
26
          make ./build/emu SIM_ARGS=--disable-log EMU_THREADS=16 NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME -j20
L
LinJiawei 已提交
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

  cputest:
    runs-on: self-hosted
    name: Run cputest
    needs: [build-emu]
    steps:
      - name: Set env
        run: |
          echo ::set-env name=AM_HOME::/home/ci-runner/xsenv/nexus-am
          echo ::set-env name=NEMU_HOME::/home/ci-runner/xsenv/NEMU
          echo ::set-env name=NOOP_HOME::$GITHUB_WORKSPACE

      - name: Run cputest
        run: |
          echo $AM_HOME
          echo $NEMU_HOME
          echo $NOOP_HOME
L
LinJiawei 已提交
44 45 46 47 48 49 50 51
          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
              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 已提交
52 53
              if [[ $? == 1 ]];
              then
L
LinJiawei 已提交
54 55 56 57 58
                  echo $t fail
                  ret=1
              fi
          done
          exit $ret
L
LinJiawei 已提交
59

L
LinJiawei 已提交
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
  microbench:
    runs-on: self-hosted
    name: Run microbench
    needs: [build-emu]
    steps:
      - name: Set env
        run: |
          echo ::set-env name=AM_HOME::/home/ci-runner/xsenv/nexus-am
          echo ::set-env name=NEMU_HOME::/home/ci-runner/xsenv/NEMU
          echo ::set-env name=NOOP_HOME::$GITHUB_WORKSPACE
      - name: Run microbench
        run: |
          echo $AM_HOME
          echo $NEMU_HOME
          echo $NOOP_HOME
Y
Yinan Xu 已提交
75
          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
L
LinJiawei 已提交
76

L
LinJiawei 已提交
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
  riscv-tests:
    runs-on: self-hosted
    name: Run riscv-tests
    needs: [build-emu]
    steps:
      - name: Set env
        run: |
          echo ::set-env name=NEMU_HOME::/home/ci-runner/xsenv/NEMU
          echo ::set-env name=NOOP_HOME::$GITHUB_WORKSPACE
          echo ::set-env name=RVTEST_HOME::/home/ci-runner/xsenv/riscv-tests
      - name: Run riscv-test
        run: |
          echo $NEMU_HOME
          echo $NOOP_HOME
          echo $RVTEST_HOME
Y
Yinan Xu 已提交
92
          make -C $RVTEST_HOME/isa/ SUITES+=rv64ui SUITES+=rv64um SUITES+=rv64ua NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME noop_run 2> /dev/null
Y
Yinan Xu 已提交
93