emu.yml 2.7 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:
L
LinJiawei 已提交
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 19 20 21 22
      - 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 已提交
23
        run:
24
          make ./build/emu SIM_ARGS=--disable-log NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME -j20
L
LinJiawei 已提交
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

  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 已提交
42 43 44 45 46 47 48 49
          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 已提交
50 51
              if [[ $? == 1 ]];
              then
L
LinJiawei 已提交
52 53 54 55 56
                  echo $t fail
                  ret=1
              fi
          done
          exit $ret
L
LinJiawei 已提交
57

L
LinJiawei 已提交
58 59 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
          make -C $AM_HOME/apps/microbench ARCH=riscv64-noop AM_HOME=$AM_HOME NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME mainargs=test run

L
LinJiawei 已提交
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
  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
90
          make -C $RVTEST_HOME/isa/ SUITES+=rv64ui SUITES+=rv64um NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME noop_run