From 0273cd4d9016753f40091b75d3575ad842c901c7 Mon Sep 17 00:00:00 2001 From: Howard Mao Date: Wed, 4 Sep 2019 14:01:20 -0700 Subject: [PATCH] add midasexamples to CI --- .circleci/config.yml | 6 ++++ .circleci/run-midasexamples-tests.sh | 41 ++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100755 .circleci/run-midasexamples-tests.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 39e890d7..88ec3e45 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -678,6 +678,12 @@ workflows: # Run the respective tests + # Run midasexamples test + - midasexamples-run-tests: + requires: + - install-riscv-toolchain + - install-verilator + # Run the example tests - example-run-tests: requires: diff --git a/.circleci/run-midasexamples-tests.sh b/.circleci/run-midasexamples-tests.sh new file mode 100755 index 00000000..592e8e2a --- /dev/null +++ b/.circleci/run-midasexamples-tests.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# turn echo on and error on earliest command +set -ex + +# get shared variables +SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" +source $SCRIPT_DIR/defaults.sh + +# call clean on exit +trap clean EXIT + +cd $LOCAL_CHIPYARD_DIR +./scripts/init-submodules-no-riscv-tools.sh +cd sims/firesim/sim/midas && git submodule update --init + +# set stricthostkeychecking to no (must happen before rsync) +run "echo \"Ping $SERVER\"" + +clean + +# copy over riscv-tools, verilator, and chipyard to remote +run "mkdir -p $REMOTE_CHIPYARD_DIR" +run "mkdir -p $REMOTE_VERILATOR_DIR" +run "mkdir -p $REMOTE_RISCV_DIR" + +copy $LOCAL_CHIPYARD_DIR/ $SERVER:$REMOTE_CHIPYARD_DIR +copy $LOCAL_VERILATOR_DIR/ $SERVER:$REMOTE_VERILATOR_DIR +copy $LOCAL_RISCV_DIR/ $SERVER:$REMOTE_RISCV_DIR + +TOOLS_DIR=$REMOTE_RISCV_DIR +LD_LIB_DIR=$REMOTE_RISCV_DIR/lib +VERILATOR_BIN_DIR=$REMOTE_VERILATOR_DIR/install/bin + +# Run midasexamples test + +run "export FIRESIM_ENV_SOURCED=1; make -C $REMOTE_FIRESIM_DIR clean" +run "export RISCV=\"$TOOLS_DIR\"; export LD_LIBRARY_PATH=\"$LD_LIB_DIR\"; \ + export PATH=\"$VERILATOR_BIN_DIR:\$PATH\"; export FIRESIM_ENV_SOURCED=1; \ + export VERILATOR_ROOT=$REMOTE_VERILATOR_DIR/install/share/verilator; \ + make -C $REMOTE_FIRESIM_DIR JAVA_ARGS=\"-Xmx8G -Xss8M\" TARGET_PROJECT=midasexamples test"