# This file describes the GitHub Actions workflow for continuous integration of XS Core. name: EMU Test on: push: branches: [ master, update-ci] pull_request: branches: [ master ] jobs: build-emu: runs-on: self-hosted name: Make EMU steps: - uses: actions/checkout@v2 with: submodules: 'recursive' - name: Check Wiring run: bash .github/workflows/check-usage.sh "BoringUtils" $GITHUB_WORKSPACE - 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 run: make ./build/emu SIM_ARGS=--disable-log EMU_THREADS=16 NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME -j20 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 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" if [[ $? == 1 ]]; then echo $t fail ret=1 fi done exit $ret 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 2> /dev/null 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 make -C $RVTEST_HOME/isa/ SUITES+=rv64ui SUITES+=rv64um SUITES+=rv64ua NEMU_HOME=$NEMU_HOME NOOP_HOME=$NOOP_HOME noop_run 2> /dev/null