From b9401dbc4b2bb19f879c335a601d4dfd8b836c2c Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Fri, 8 Oct 2021 13:43:27 -0700 Subject: [PATCH] Mockup self-hosted runners + Bugfix run-tests by init-submods --- .github/actions/run-tests/action.yml | 4 + .github/scripts/defaults.sh | 27 +- .github/scripts/do-rtl-build.sh | 58 +- .github/scripts/install-verilator.sh | 20 +- .github/scripts/run-firesim-scala-tests.sh | 50 +- .github/workflows/chipyard-run-tests.yml | 1544 ++++++++++---------- 6 files changed, 815 insertions(+), 888 deletions(-) diff --git a/.github/actions/run-tests/action.yml b/.github/actions/run-tests/action.yml index f0aa9d25..892ea699 100644 --- a/.github/actions/run-tests/action.yml +++ b/.github/actions/run-tests/action.yml @@ -20,6 +20,10 @@ inputs: runs: using: "composite" steps: + - name: Init submodules (since only the RTL is cached) + run: ./scripts/init-submodules-no-riscv-tools.sh + shell: bash + - name: Build toolchain uses: ./.github/actions/toolchain-build with: diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index f250023b..22307531 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -1,24 +1,5 @@ #!/bin/bash -copy () { - rsync -azp -e 'ssh' --exclude '.git' $1 $2 -} - -run () { - ssh -o "ServerAliveInterval=60" -o "StrictHostKeyChecking no" -t $SERVER $@ -} - -run_script () { - SCRIPT=$1 - shift - ssh -o "ServerAliveInterval=60" -o "StrictHostKeyChecking no" -t $SERVER 'bash -s' < $SCRIPT "$@" -} - -clean () { - # remove remote work dir - run "rm -rf $REMOTE_WORK_DIR" -} - # make parallelism CI_MAKE_NPROC=8 # chosen based on a 24c system shared with 1 other project @@ -35,10 +16,10 @@ CURRENT_BRANCH=$(git branch --show-current) HOME=`pwd` REMOTE_PREFIX=$CI_DIR/${GITHUB_REPOSITORY#*/}-$CURRENT_BRANCH -REMOTE_WORK_DIR=$REMOTE_PREFIX-$GITHUB_SHA-$GITHUB_JOB -REMOTE_RISCV_DIR=$REMOTE_WORK_DIR/riscv-tools-install -REMOTE_ESP_DIR=$REMOTE_WORK_DIR/esp-tools-install -REMOTE_CHIPYARD_DIR=$REMOTE_WORK_DIR/chipyard +REMOTE_WORK_DIR=$GITHUB_WORKSPACE +REMOTE_RISCV_DIR=$GITHUB_WORKSPACE/riscv-tools-install +REMOTE_ESP_DIR=$GITHUB_WORKSPACE/esp-tools-install +REMOTE_CHIPYARD_DIR=$GITHUB_WORKSPACE REMOTE_SIM_DIR=$REMOTE_CHIPYARD_DIR/sims/verilator REMOTE_FIRESIM_DIR=$REMOTE_CHIPYARD_DIR/sims/firesim/sim REMOTE_FPGA_DIR=$REMOTE_CHIPYARD_DIR/fpga diff --git a/.github/scripts/do-rtl-build.sh b/.github/scripts/do-rtl-build.sh index 3a5d56ca..e37cc863 100755 --- a/.github/scripts/do-rtl-build.sh +++ b/.github/scripts/do-rtl-build.sh @@ -17,45 +17,22 @@ source $SCRIPT_DIR/defaults.sh # call clean on exit trap clean EXIT -cd $LOCAL_CHIPYARD_DIR +cd $REMOTE_CHIPYARD_DIR ./scripts/init-submodules-no-riscv-tools.sh ./scripts/init-fpga.sh -# replace the workspace dir with a local dir so you can copy around -sed -i -E 's/(workspace=).*(\/tools)/\1$PWD\2/g' .sbtopts - -# set stricthostkeychecking to no (must happen before rsync) -run "echo \"Ping $SERVER\"" - -clean - -# copy over riscv/esp-tools, and chipyard to remote -run "mkdir -p $REMOTE_CHIPYARD_DIR" -copy $LOCAL_CHIPYARD_DIR/ $SERVER:$REMOTE_CHIPYARD_DIR - -run "cp -r ~/.ivy2 $REMOTE_WORK_DIR" -run "cp -r ~/.sbt $REMOTE_WORK_DIR" - TOOLS_DIR=$REMOTE_RISCV_DIR LD_LIB_DIR=$REMOTE_RISCV_DIR/lib if [ $1 = "group-accels" ]; then - export RISCV=$LOCAL_ESP_DIR - export LD_LIBRARY_PATH=$LOCAL_ESP_DIR/lib + export RISCV=$REMOTE_ESP_DIR + export LD_LIBRARY_PATH=$REMOTE_ESP_DIR/lib export PATH=$RISCV/bin:$PATH - GEMMINI_SOFTWARE_DIR=$LOCAL_SIM_DIR/../../generators/gemmini/software/gemmini-rocc-tests - cd $LOCAL_SIM_DIR/../../generators/gemmini/software + GEMMINI_SOFTWARE_DIR=$REMOTE_CHIPYARD_DIR/generators/gemmini/software/gemmini-rocc-tests + cd $GEMMINI_SOFTWARE_DIR git submodule update --init --recursive gemmini-rocc-tests cd gemmini-rocc-tests ./build.sh - - TOOLS_DIR=$REMOTE_ESP_DIR - LD_LIB_DIR=$REMOTE_ESP_DIR/lib - run "mkdir -p $REMOTE_ESP_DIR" - copy $LOCAL_ESP_DIR/ $SERVER:$REMOTE_ESP_DIR -else - run "mkdir -p $REMOTE_RISCV_DIR" - copy $LOCAL_RISCV_DIR/ $SERVER:$REMOTE_RISCV_DIR fi # choose what make dir to use @@ -69,27 +46,20 @@ case $2 in esac # enter the verilator directory and build the specific config on remote server -run "export RISCV=\"$TOOLS_DIR\"; \ - make -C $REMOTE_MAKE_DIR clean;" +export RISCV=$TOOLS_DIR +make -C $REMOTE_MAKE_DIR clean read -a keys <<< ${grouping[$1]} # need to set the PATH to use the new verilator (with the new verilator root) for key in "${keys[@]}" do - run "export RISCV=\"$TOOLS_DIR\"; \ - export LD_LIBRARY_PATH=\"$LD_LIB_DIR\"; \ - export PATH=\"$REMOTE_VERILATOR_DIR/bin:\$PATH\"; \ - export VERILATOR_ROOT=\"$REMOTE_VERILATOR_DIR\"; \ - export COURSIER_CACHE=\"$REMOTE_WORK_DIR/.coursier-cache\"; \ - make -j$REMOTE_MAKE_NPROC -C $REMOTE_MAKE_DIR FIRRTL_LOGLEVEL=info JAVA_OPTS=\"$REMOTE_JAVA_OPTS\" SBT_OPTS=\"$REMOTE_SBT_OPTS\" ${mapping[$key]}" + export RISCV=$TOOLS_DIR + export LD_LIBRARY_PATH=$LD_LIB_DIR + export PATH=$REMOTE_VERILATOR_DIR/bin:$PATH + export VERILATOR_ROOT=$REMOTE_VERILATOR_DIR + export COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache + make -j$REMOTE_MAKE_NPROC -C $REMOTE_MAKE_DIR FIRRTL_LOGLEVEL=info JAVA_OPTS=$REMOTE_JAVA_OPTS SBT_OPTS=$REMOTE_SBT_OPTS ${mapping[$key]} done -run "rm -rf $REMOTE_CHIPYARD_DIR/project" - -# choose to copy back results -if [ $2 = "sim" ]; then - # copy back the final build - mkdir -p $LOCAL_CHIPYARD_DIR - copy $SERVER:$REMOTE_CHIPYARD_DIR/ $LOCAL_CHIPYARD_DIR -fi +rm -rf $REMOTE_CHIPYARD_DIR/project diff --git a/.github/scripts/install-verilator.sh b/.github/scripts/install-verilator.sh index f667b365..1159fc47 100755 --- a/.github/scripts/install-verilator.sh +++ b/.github/scripts/install-verilator.sh @@ -10,16 +10,14 @@ SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" source $SCRIPT_DIR/defaults.sh # clean older directories (delete prior directories related to this branch also) -run_script $LOCAL_CHIPYARD_DIR/.github/scripts/clean-old-files.sh $CI_DIR -run "rm -rf $REMOTE_PREFIX*" -# set stricthostkeychecking to no (must happen before rsync) -run "echo \"Ping $SERVER\"" +$SCRIPT_DIR/clean-old-files.sh $CI_DIR +rm -rf $REMOTE_PREFIX* -run "git clone http://git.veripool.org/git/verilator $REMOTE_VERILATOR_DIR; \ - cd $REMOTE_VERILATOR_DIR; \ - git checkout $VERILATOR_VERSION; \ - autoconf; \ - export VERILATOR_ROOT=$REMOTE_VERILATOR_DIR; \ - ./configure; \ - make -j$REMOTE_MAKE_NPROC;" +git clone http://git.veripool.org/git/verilator $REMOTE_VERILATOR_DIR +cd $REMOTE_VERILATOR_DIR +git checkout $VERILATOR_VERSION +autoconf +export VERILATOR_ROOT=$REMOTE_VERILATOR_DIR +./configure +make -j$REMOTE_MAKE_NPROC diff --git a/.github/scripts/run-firesim-scala-tests.sh b/.github/scripts/run-firesim-scala-tests.sh index 55a22365..9b329fa7 100755 --- a/.github/scripts/run-firesim-scala-tests.sh +++ b/.github/scripts/run-firesim-scala-tests.sh @@ -13,54 +13,36 @@ source $SCRIPT_DIR/defaults.sh # call clean on exit trap clean EXIT -export RISCV="$GITHUB_WORKSPACE/riscv-tools-install" +export RISCV="$REMOTE_RISCV_DIR" export LD_LIBRARY_PATH="$RISCV/lib" export PATH="$RISCV/bin:$PATH" # Directory locations for handling firesim-local installations of libelf/libdwarf # This would generally be handled by build-setup.sh/firesim-setup.sh firesim_sysroot=lib-install -local_firesim_sysroot=$LOCAL_FIRESIM_DIR/$firesim_sysroot remote_firesim_sysroot=$REMOTE_FIRESIM_DIR/$firesim_sysroot -cd $LOCAL_CHIPYARD_DIR +cd $REMOTE_CHIPYARD_DIR ./scripts/init-submodules-no-riscv-tools.sh -cd $LOCAL_CHIPYARD_DIR/sims/firesim/sim/firesim-lib/src/main/cc/lib +cd $REMOTE_CHIPYARD_DIR/sims/firesim/sim/firesim-lib/src/main/cc/lib git submodule update --init elfutils libdwarf -cd $LOCAL_CHIPYARD_DIR/sims/firesim -mkdir -p $local_firesim_sysroot -./scripts/build-libelf.sh $local_firesim_sysroot -./scripts/build-libdwarf.sh $local_firesim_sysroot -cd $LOCAL_CHIPYARD_DIR +cd $REMOTE_CHIPYARD_DIR/sims/firesim +mkdir -p $remote_firesim_sysroot +./scripts/build-libelf.sh $remote_firesim_sysroot +./scripts/build-libdwarf.sh $remote_firesim_sysroot +cd $REMOTE_CHIPYARD_DIR -# replace the workspace dir with a local dir so you can copy around -sed -i -E 's/(workspace=).*(\/tools)/\1$PWD\2/g' .sbtopts - -make -C $LOCAL_CHIPYARD_DIR/tools/dromajo/dromajo-src/src - -# set stricthostkeychecking to no (must happen before rsync) -run "echo \"Ping $SERVER\"" - -clean - -# copy over riscv/esp-tools, and chipyard to remote -run "mkdir -p $REMOTE_CHIPYARD_DIR" -run "mkdir -p $REMOTE_RISCV_DIR" -copy $LOCAL_CHIPYARD_DIR/ $SERVER:$REMOTE_CHIPYARD_DIR -copy $LOCAL_RISCV_DIR/ $SERVER:$REMOTE_RISCV_DIR - -run "cp -r ~/.ivy2 $REMOTE_WORK_DIR" -run "cp -r ~/.sbt $REMOTE_WORK_DIR" +make -C $REMOTE_CHIPYARD_DIR/tools/dromajo/dromajo-src/src TOOLS_DIR=$REMOTE_RISCV_DIR LD_LIB_DIR=$remote_firesim_sysroot/lib:$REMOTE_RISCV_DIR/lib # Run Firesim Scala Tests -run "export RISCV=\"$TOOLS_DIR\"; \ - export LD_LIBRARY_PATH=\"$LD_LIB_DIR\"; \ - export FIRESIM_ENV_SOURCED=1; \ - export PATH=\"$REMOTE_VERILATOR_DIR/bin:\$PATH\"; \ - export VERILATOR_ROOT=\"$REMOTE_VERILATOR_DIR\"; \ - export COURSIER_CACHE=\"$REMOTE_WORK_DIR/.coursier-cache\"; \ - make -C $REMOTE_FIRESIM_DIR JAVA_OPTS=\"$REMOTE_JAVA_OPTS\" SBT_OPTS=\"$REMOTE_SBT_OPTS\" testOnly ${mapping[$1]}" +export RISCV=$TOOLS_DIR +export LD_LIBRARY_PATH=$LD_LIB_DIR +export FIRESIM_ENV_SOURCED=1; +export PATH=$REMOTE_VERILATOR_DIR/bin:$PATH +export VERILATOR_ROOT=$REMOTE_VERILATOR_DIR +export COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache +make -C $REMOTE_FIRESIM_DIR JAVA_OPTS=$REMOTE_JAVA_OPTS SBT_OPTS=$REMOTE_SBT_OPTS testOnly ${mapping[$1]} diff --git a/.github/workflows/chipyard-run-tests.yml b/.github/workflows/chipyard-run-tests.yml index 74f46aa1..753bd66c 100644 --- a/.github/workflows/chipyard-run-tests.yml +++ b/.github/workflows/chipyard-run-tests.yml @@ -23,791 +23,783 @@ jobs: with: access_token: ${{ github.token }} - commit-on-master-check: - name: commit-on-master-check - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Check commits of each submodule - if: steps.job-start.outputs.run_result != 'success' - run: .github/scripts/check-commit.sh - - uses: ./.github/actions/job-end - - tutorial-setup-check: - name: tutorial-setup-check - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Check that the tutorial-setup patches apply - if: steps.job-start.outputs.run_result != 'success' - run: scripts/tutorial-setup.sh - - uses: ./.github/actions/job-end - - documentation-check: - name: documentation-check - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Check that documentation builds with no warnings/errors - if: steps.job-start.outputs.run_result != 'success' - run: | - sudo apt-get update -y - sudo apt-get install -y python3-pip - sudo pip3 install -r docs/requirements.txt - make -C docs html - - name: Show error log from sphinx if failed - if: ${{ steps.job-start.outputs.run_result != 'success' && failure() }} - run: cat /tmp/sphinx-err*.log - - uses: ./.github/actions/job-end - - install-riscv-toolchain: - name: install-riscv-toolchain - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Build default RISC-V toolchain - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/toolchain-build - with: - tools-version: 'riscv-tools' - - uses: ./.github/actions/job-end - - install-esp-toolchain: - name: install-esp-toolchain - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Build ESP RISC-V toolchain - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/toolchain-build - with: - tools-version: 'esp-tools' - - uses: ./.github/actions/job-end - - build-extra-tests: - name: build-extra-tests - needs: install-riscv-toolchain - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Build default RISC-V toolchain - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/toolchain-build - with: - tools-version: 'riscv-tools' - - name: Generate keys - if: steps.job-start.outputs.run_result != 'success' - id: genkey - run: | - echo "::set-output name=extra-tests-cache-key::extra-tests-${{ github.ref }}-${{ github.sha }}" - - uses: actions/cache@v2 - if: steps.job-start.outputs.run_result != 'success' - id: build-extra-tools-cache - with: - path: extra-tests-install - key: ${{ steps.genkey.outputs.extra-tests-cache-key }} - restore-keys: ${{ steps.genkey.outputs.extra-tests-cache-key }} - - name: Build extra tests - if: steps.job-start.outputs.run_result != 'success' - run: .github/scripts/build-extra-tests.sh - - uses: ./.github/actions/job-end + # commit-on-master-check: + # name: commit-on-master-check + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Check commits of each submodule + # if: steps.job-start.outputs.run_result != 'success' + # run: .github/scripts/check-commit.sh + # - uses: ./.github/actions/job-end + # + # tutorial-setup-check: + # name: tutorial-setup-check + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Check that the tutorial-setup patches apply + # if: steps.job-start.outputs.run_result != 'success' + # run: scripts/tutorial-setup.sh + # - uses: ./.github/actions/job-end + # + # documentation-check: + # name: documentation-check + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Check that documentation builds with no warnings/errors + # if: steps.job-start.outputs.run_result != 'success' + # run: | + # sudo apt-get update -y + # sudo apt-get install -y python3-pip + # sudo pip3 install -r docs/requirements.txt + # make -C docs html + # - name: Show error log from sphinx if failed + # if: ${{ steps.job-start.outputs.run_result != 'success' && failure() }} + # run: cat /tmp/sphinx-err*.log + # - uses: ./.github/actions/job-end + # + # install-riscv-toolchain: + # name: install-riscv-toolchain + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Build default RISC-V toolchain + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/toolchain-build + # with: + # tools-version: 'riscv-tools' + # - uses: ./.github/actions/job-end + # + # install-esp-toolchain: + # name: install-esp-toolchain + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Build ESP RISC-V toolchain + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/toolchain-build + # with: + # tools-version: 'esp-tools' + # - uses: ./.github/actions/job-end + # + # build-extra-tests: + # name: build-extra-tests + # needs: install-riscv-toolchain + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Build default RISC-V toolchain + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/toolchain-build + # with: + # tools-version: 'riscv-tools' + # - name: Generate keys + # if: steps.job-start.outputs.run_result != 'success' + # id: genkey + # run: | + # echo "::set-output name=extra-tests-cache-key::extra-tests-${{ github.ref }}-${{ github.sha }}" + # - uses: actions/cache@v2 + # if: steps.job-start.outputs.run_result != 'success' + # id: build-extra-tools-cache + # with: + # path: extra-tests-install + # key: ${{ steps.genkey.outputs.extra-tests-cache-key }} + # restore-keys: ${{ steps.genkey.outputs.extra-tests-cache-key }} + # - name: Build extra tests + # if: steps.job-start.outputs.run_result != 'success' + # run: .github/scripts/build-extra-tests.sh + # - uses: ./.github/actions/job-end install-verilator: name: install-verilator - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash + runs-on: self-hosted steps: - name: Checkout uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - uses: ./.github/actions/job-start id: job-start - - name: Build verilator on remote + - name: Build verilator on self-hosted if: steps.job-start.outputs.run_result != 'success' run: .github/scripts/install-verilator.sh - uses: ./.github/actions/job-end - # Sentinel job to simplify how we specify which that basic setup is complete - # - # When adding new prep jobs, please add them to `needs` below - setup-complete: - name: setup-complete - needs: [install-riscv-toolchain, install-esp-toolchain, install-verilator, - build-extra-tests] - runs-on: ubuntu-latest - steps: - - name: Set up complete - run: echo Set up is complete! - - ########################################################################## - - prepare-chipyard-cores: - name: prepare-chipyard-cores - needs: setup-complete - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - - uses: ./.github/actions/job-start - id: job-start - - name: Build RTL - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/prepare-rtl - with: - group-key: "group-cores" - - uses: ./.github/actions/job-end - - prepare-chipyard-peripherals: - name: prepare-chipyard-peripherals - needs: setup-complete - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - - uses: ./.github/actions/job-start - id: job-start - - name: Build RTL - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/prepare-rtl - with: - group-key: "group-peripherals" - - uses: ./.github/actions/job-end - - prepare-chipyard-accels: - name: prepare-chipyard-accels - needs: setup-complete - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - - uses: ./.github/actions/job-start - id: job-start - - name: Build RTL - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/prepare-rtl - with: - tools-version: "esp-tools" - group-key: "group-accels" - - uses: ./.github/actions/job-end - - prepare-chipyard-tracegen: - name: prepare-chipyard-tracegen - needs: setup-complete - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - - uses: ./.github/actions/job-start - id: job-start - - name: Build RTL - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/prepare-rtl - with: - group-key: "group-tracegen" - - uses: ./.github/actions/job-end - - prepare-chipyard-other: - name: prepare-chipyard-other - needs: setup-complete - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - - uses: ./.github/actions/job-start - id: job-start - - name: Build RTL - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/prepare-rtl - with: - group-key: "group-other" - - uses: ./.github/actions/job-end - - prepare-chipyard-fpga: - name: prepare-chipyard-fpga - needs: setup-complete - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - - uses: ./.github/actions/job-start - id: job-start - - name: Build RTL - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/prepare-rtl - with: - group-key: "group-fpga" - build-type: "fpga" - - uses: ./.github/actions/job-end - - ########################################################################## - - chipyard-rocket-run-tests: - name: chipyard-rocket-run-tests - needs: prepare-chipyard-cores - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-cores" - project-key: "chipyard-rocket" - - uses: ./.github/actions/job-end - - chipyard-hetero-run-tests: - name: chipyard-hetero-run-tests - needs: prepare-chipyard-cores - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-cores" - project-key: "chipyard-hetero" - - uses: ./.github/actions/job-end - - chipyard-boom-run-tests: - name: chipyard-boom-run-tests - needs: prepare-chipyard-cores - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-cores" - project-key: "chipyard-boom" - - uses: ./.github/actions/job-end - - chipyard-cva6-run-tests: - name: chipyard-cva6-run-tests - needs: prepare-chipyard-cores - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-cores" - project-key: "chipyard-cva6" - - uses: ./.github/actions/job-end - - chipyard-sodor-run-tests: - name: chipyard-sodor-run-tests - needs: prepare-chipyard-cores - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-cores" - project-key: "chipyard-sodor" - - uses: ./.github/actions/job-end - - chipyard-dmirocket-run-tests: - name: chipyard-dmirocket-run-tests - needs: prepare-chipyard-peripherals - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-peripherals" - project-key: "chipyard-dmirocket" - - uses: ./.github/actions/job-end - - chipyard-spiflashwrite-run-tests: - name: chipyard-spiflashwrite-run-tests - needs: prepare-chipyard-peripherals - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-peripherals" - project-key: "chipyard-spiflashwrite" - - uses: ./.github/actions/job-end - - chipyard-spiflashread-run-tests: - name: chipyard-spiflashread-run-tests - needs: prepare-chipyard-peripherals - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-peripherals" - project-key: "chipyard-spiflashread" - - uses: ./.github/actions/job-end - - chipyard-lbwif-run-tests: - name: chipyard-lbwif-run-tests - needs: prepare-chipyard-peripherals - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-peripherals" - project-key: "chipyard-lbwif" - - uses: ./.github/actions/job-end - - chipyard-sha3-run-tests: - name: chipyard-sha3-run-tests - needs: prepare-chipyard-accels - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - tools-version: "esp-tools" - group-key: "group-accels" - project-key: "chipyard-sha3" - - uses: ./.github/actions/job-end - - chipyard-streaming-fir-run-tests: - name: chipyard-streaming-fir-run-tests - needs: prepare-chipyard-accels - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-streaming-fir" - - uses: ./.github/actions/job-end - - chipyard-streaming-passthrough-run-tests: - name: chipyard-streaming-passthrough-run-tests - needs: prepare-chipyard-accels - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-streaming-passthrough" - - uses: ./.github/actions/job-end - - chipyard-hwacha-run-tests: - name: chipyard-hwacha-run-tests - needs: prepare-chipyard-accels - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - tools-version: "esp-tools" - group-key: "group-accels" - project-key: "chipyard-hwacha" - - uses: ./.github/actions/job-end - - chipyard-gemmini-run-tests: - name: chipyard-gemmini-run-tests - needs: prepare-chipyard-accels - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - tools-version: "esp-tools" - group-key: "group-accels" - project-key: "chipyard-gemmini" - - uses: ./.github/actions/job-end - - chipyard-nvdla-run-tests: - name: chipyard-nvdla-run-tests - needs: prepare-chipyard-accels - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-nvdla" - - uses: ./.github/actions/job-end - - tracegen-boom-run-tests: - name: tracegen-boom-run-tests - needs: prepare-chipyard-tracegen - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-tracegen" - project-key: "tracegen-boom" - - uses: ./.github/actions/job-end - - tracegen-run-tests: - name: tracegen-run-tests - needs: prepare-chipyard-tracegen - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-tracegen" - project-key: "tracegen" - - uses: ./.github/actions/job-end - - icenet-run-tests: - name: icenet-run-tests - needs: prepare-chipyard-other - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-other" - project-key: "icenet" - - uses: ./.github/actions/job-end - - testchipip-run-tests: - name: testchipip-run-tests - needs: prepare-chipyard-other - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "group-other" - project-key: "testchipip" - - uses: ./.github/actions/job-end - - firesim-run-tests: - name: firesim-run-tests - needs: setup-complete - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "extra-tests" - project-key: "firesim" - run-script: "run-firesim-scala-tests.sh" - - uses: ./.github/actions/job-end - - fireboom-run-tests: - name: fireboom-run-tests - needs: setup-complete - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "extra-tests" - project-key: "fireboom" - run-script: "run-firesim-scala-tests.sh" - - uses: ./.github/actions/job-end - - firesim-multiclock-run-tests: - name: firesim-multiclock-run-tests - needs: setup-complete - runs-on: ubuntu-latest - container: - image: ucbbar/chipyard-ci-image:554b436 - options: --entrypoint /bin/bash - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.SERVERKEY }} - known_hosts: ${{ secrets.BUILDSERVER }} - - uses: ./.github/actions/job-start - id: job-start - - name: Run tests - if: steps.job-start.outputs.run_result != 'success' - uses: ./.github/actions/run-tests - with: - group-key: "extra-tests" - project-key: "firesim-multiclock" - run-script: "run-firesim-scala-tests.sh" - - uses: ./.github/actions/job-end - - # Sentinel job to simplify how we specify which checks need to pass in branch - # protection and in Mergify - # - # When adding new top level jobs, please add them to `needs` below - all_tests_passed: - name: "all tests passed" - needs: [commit-on-master-check, tutorial-setup-check, documentation-check, - chipyard-rocket-run-tests, chipyard-hetero-run-tests, chipyard-boom-run-tests, chipyard-cva6-run-tests, - chipyard-sodor-run-tests, chipyard-dmirocket-run-tests, chipyard-spiflashwrite-run-tests, - chipyard-spiflashread-run-tests, chipyard-lbwif-run-tests, chipyard-sha3-run-tests, - chipyard-streaming-fir-run-tests, chipyard-streaming-passthrough-run-tests, chipyard-hwacha-run-tests, - chipyard-gemmini-run-tests, chipyard-nvdla-run-tests, - tracegen-boom-run-tests, tracegen-run-tests, - icenet-run-tests, testchipip-run-tests, - prepare-chipyard-fpga, - firesim-run-tests, fireboom-run-tests, firesim-multiclock-run-tests] - runs-on: ubuntu-latest - steps: - - run: echo Success! + # # Sentinel job to simplify how we specify which that basic setup is complete + # # + # # When adding new prep jobs, please add them to `needs` below + # setup-complete: + # name: setup-complete + # needs: [install-riscv-toolchain, install-esp-toolchain, install-verilator, + # build-extra-tests] + # runs-on: ubuntu-latest + # steps: + # - name: Set up complete + # run: echo Set up is complete! + # + # ########################################################################## + # + # prepare-chipyard-cores: + # name: prepare-chipyard-cores + # needs: setup-complete + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Install SSH key + # uses: shimataro/ssh-key-action@v2 + # with: + # key: ${{ secrets.SERVERKEY }} + # known_hosts: ${{ secrets.BUILDSERVER }} + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Build RTL + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/prepare-rtl + # with: + # group-key: "group-cores" + # - uses: ./.github/actions/job-end + # + # prepare-chipyard-peripherals: + # name: prepare-chipyard-peripherals + # needs: setup-complete + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Install SSH key + # uses: shimataro/ssh-key-action@v2 + # with: + # key: ${{ secrets.SERVERKEY }} + # known_hosts: ${{ secrets.BUILDSERVER }} + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Build RTL + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/prepare-rtl + # with: + # group-key: "group-peripherals" + # - uses: ./.github/actions/job-end + # + # prepare-chipyard-accels: + # name: prepare-chipyard-accels + # needs: setup-complete + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Install SSH key + # uses: shimataro/ssh-key-action@v2 + # with: + # key: ${{ secrets.SERVERKEY }} + # known_hosts: ${{ secrets.BUILDSERVER }} + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Build RTL + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/prepare-rtl + # with: + # tools-version: "esp-tools" + # group-key: "group-accels" + # - uses: ./.github/actions/job-end + # + # prepare-chipyard-tracegen: + # name: prepare-chipyard-tracegen + # needs: setup-complete + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Install SSH key + # uses: shimataro/ssh-key-action@v2 + # with: + # key: ${{ secrets.SERVERKEY }} + # known_hosts: ${{ secrets.BUILDSERVER }} + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Build RTL + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/prepare-rtl + # with: + # group-key: "group-tracegen" + # - uses: ./.github/actions/job-end + # + # prepare-chipyard-other: + # name: prepare-chipyard-other + # needs: setup-complete + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Install SSH key + # uses: shimataro/ssh-key-action@v2 + # with: + # key: ${{ secrets.SERVERKEY }} + # known_hosts: ${{ secrets.BUILDSERVER }} + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Build RTL + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/prepare-rtl + # with: + # group-key: "group-other" + # - uses: ./.github/actions/job-end + # + # prepare-chipyard-fpga: + # name: prepare-chipyard-fpga + # needs: setup-complete + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Install SSH key + # uses: shimataro/ssh-key-action@v2 + # with: + # key: ${{ secrets.SERVERKEY }} + # known_hosts: ${{ secrets.BUILDSERVER }} + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Build RTL + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/prepare-rtl + # with: + # group-key: "group-fpga" + # build-type: "fpga" + # - uses: ./.github/actions/job-end + # + # ########################################################################## + # + # chipyard-rocket-run-tests: + # name: chipyard-rocket-run-tests + # needs: prepare-chipyard-cores + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-cores" + # project-key: "chipyard-rocket" + # - uses: ./.github/actions/job-end + # + # chipyard-hetero-run-tests: + # name: chipyard-hetero-run-tests + # needs: prepare-chipyard-cores + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-cores" + # project-key: "chipyard-hetero" + # - uses: ./.github/actions/job-end + # + # chipyard-boom-run-tests: + # name: chipyard-boom-run-tests + # needs: prepare-chipyard-cores + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-cores" + # project-key: "chipyard-boom" + # - uses: ./.github/actions/job-end + # + # chipyard-cva6-run-tests: + # name: chipyard-cva6-run-tests + # needs: prepare-chipyard-cores + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-cores" + # project-key: "chipyard-cva6" + # - uses: ./.github/actions/job-end + # + # chipyard-sodor-run-tests: + # name: chipyard-sodor-run-tests + # needs: prepare-chipyard-cores + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-cores" + # project-key: "chipyard-sodor" + # - uses: ./.github/actions/job-end + # + # chipyard-dmirocket-run-tests: + # name: chipyard-dmirocket-run-tests + # needs: prepare-chipyard-peripherals + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-peripherals" + # project-key: "chipyard-dmirocket" + # - uses: ./.github/actions/job-end + # + # chipyard-spiflashwrite-run-tests: + # name: chipyard-spiflashwrite-run-tests + # needs: prepare-chipyard-peripherals + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-peripherals" + # project-key: "chipyard-spiflashwrite" + # - uses: ./.github/actions/job-end + # + # chipyard-spiflashread-run-tests: + # name: chipyard-spiflashread-run-tests + # needs: prepare-chipyard-peripherals + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-peripherals" + # project-key: "chipyard-spiflashread" + # - uses: ./.github/actions/job-end + # + # chipyard-lbwif-run-tests: + # name: chipyard-lbwif-run-tests + # needs: prepare-chipyard-peripherals + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-peripherals" + # project-key: "chipyard-lbwif" + # - uses: ./.github/actions/job-end + # + # chipyard-sha3-run-tests: + # name: chipyard-sha3-run-tests + # needs: prepare-chipyard-accels + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # tools-version: "esp-tools" + # group-key: "group-accels" + # project-key: "chipyard-sha3" + # - uses: ./.github/actions/job-end + # + # chipyard-streaming-fir-run-tests: + # name: chipyard-streaming-fir-run-tests + # needs: prepare-chipyard-accels + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-accels" + # project-key: "chipyard-streaming-fir" + # - uses: ./.github/actions/job-end + # + # chipyard-streaming-passthrough-run-tests: + # name: chipyard-streaming-passthrough-run-tests + # needs: prepare-chipyard-accels + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-accels" + # project-key: "chipyard-streaming-passthrough" + # - uses: ./.github/actions/job-end + # + # chipyard-hwacha-run-tests: + # name: chipyard-hwacha-run-tests + # needs: prepare-chipyard-accels + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # tools-version: "esp-tools" + # group-key: "group-accels" + # project-key: "chipyard-hwacha" + # - uses: ./.github/actions/job-end + # + # chipyard-gemmini-run-tests: + # name: chipyard-gemmini-run-tests + # needs: prepare-chipyard-accels + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # tools-version: "esp-tools" + # group-key: "group-accels" + # project-key: "chipyard-gemmini" + # - uses: ./.github/actions/job-end + # + # chipyard-nvdla-run-tests: + # name: chipyard-nvdla-run-tests + # needs: prepare-chipyard-accels + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-accels" + # project-key: "chipyard-nvdla" + # - uses: ./.github/actions/job-end + # + # tracegen-boom-run-tests: + # name: tracegen-boom-run-tests + # needs: prepare-chipyard-tracegen + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-tracegen" + # project-key: "tracegen-boom" + # - uses: ./.github/actions/job-end + # + # tracegen-run-tests: + # name: tracegen-run-tests + # needs: prepare-chipyard-tracegen + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-tracegen" + # project-key: "tracegen" + # - uses: ./.github/actions/job-end + # + # icenet-run-tests: + # name: icenet-run-tests + # needs: prepare-chipyard-other + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-other" + # project-key: "icenet" + # - uses: ./.github/actions/job-end + # + # testchipip-run-tests: + # name: testchipip-run-tests + # needs: prepare-chipyard-other + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "group-other" + # project-key: "testchipip" + # - uses: ./.github/actions/job-end + # + # firesim-run-tests: + # name: firesim-run-tests + # needs: setup-complete + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Install SSH key + # uses: shimataro/ssh-key-action@v2 + # with: + # key: ${{ secrets.SERVERKEY }} + # known_hosts: ${{ secrets.BUILDSERVER }} + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "extra-tests" + # project-key: "firesim" + # run-script: "run-firesim-scala-tests.sh" + # - uses: ./.github/actions/job-end + # + # fireboom-run-tests: + # name: fireboom-run-tests + # needs: setup-complete + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Install SSH key + # uses: shimataro/ssh-key-action@v2 + # with: + # key: ${{ secrets.SERVERKEY }} + # known_hosts: ${{ secrets.BUILDSERVER }} + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "extra-tests" + # project-key: "fireboom" + # run-script: "run-firesim-scala-tests.sh" + # - uses: ./.github/actions/job-end + # + # firesim-multiclock-run-tests: + # name: firesim-multiclock-run-tests + # needs: setup-complete + # runs-on: ubuntu-latest + # container: + # image: ucbbar/chipyard-ci-image:554b436 + # options: --entrypoint /bin/bash + # steps: + # - name: Checkout + # uses: actions/checkout@v2 + # - name: Install SSH key + # uses: shimataro/ssh-key-action@v2 + # with: + # key: ${{ secrets.SERVERKEY }} + # known_hosts: ${{ secrets.BUILDSERVER }} + # - uses: ./.github/actions/job-start + # id: job-start + # - name: Run tests + # if: steps.job-start.outputs.run_result != 'success' + # uses: ./.github/actions/run-tests + # with: + # group-key: "extra-tests" + # project-key: "firesim-multiclock" + # run-script: "run-firesim-scala-tests.sh" + # - uses: ./.github/actions/job-end + # + # # Sentinel job to simplify how we specify which checks need to pass in branch + # # protection and in Mergify + # # + # # When adding new top level jobs, please add them to `needs` below + # all_tests_passed: + # name: "all tests passed" + # needs: [commit-on-master-check, tutorial-setup-check, documentation-check, + # chipyard-rocket-run-tests, chipyard-hetero-run-tests, chipyard-boom-run-tests, chipyard-cva6-run-tests, + # chipyard-sodor-run-tests, chipyard-dmirocket-run-tests, chipyard-spiflashwrite-run-tests, + # chipyard-spiflashread-run-tests, chipyard-lbwif-run-tests, chipyard-sha3-run-tests, + # chipyard-streaming-fir-run-tests, chipyard-streaming-passthrough-run-tests, chipyard-hwacha-run-tests, + # chipyard-gemmini-run-tests, chipyard-nvdla-run-tests, + # tracegen-boom-run-tests, tracegen-run-tests, + # icenet-run-tests, testchipip-run-tests, + # prepare-chipyard-fpga, + # firesim-run-tests, fireboom-run-tests, firesim-multiclock-run-tests] + # runs-on: ubuntu-latest + # steps: + # - run: echo Success!