Use conda + Update initial setup docs
This commit is contained in:
committed by
Abraham Gonzalez
parent
684a02a10f
commit
1de35a6af4
20
.github/CI_README.md
vendored
20
.github/CI_README.md
vendored
@@ -22,7 +22,7 @@ For example:
|
||||
This specifies that the `prepare-chipyard-cores` job needs the both the `make-keys` and the `setup-complete` steps to
|
||||
be completed before it can run.
|
||||
|
||||
Chipyard runs its CI using a docker image created from `dockerfiles/Dockerfile`.
|
||||
Chipyard runs its CI using a docker image created from `dockerfiles/Dockerfile` and on Berkeley's millennium machines.
|
||||
See its [README](../dockerfiles/README.md) for more details.
|
||||
|
||||
Finally, within each job's `steps:` section, the steps are run sequentially and state persists throughout a job.
|
||||
@@ -71,9 +71,7 @@ Our own composite actions are defined in the `.github/actions/<ActionName>/actio
|
||||
This directory contains most the collateral for the Chipyard CI to work.
|
||||
The following is included in `.github/scripts/: directory
|
||||
|
||||
`build-toolchains.sh` # build either riscv-tools or esp-tools
|
||||
`create-hash.sh` # create hashes of riscv-tools/esp-tools to use as hash keys
|
||||
`remote-do-rtl-build.sh` # use verilator to build a sim executable (remotely)
|
||||
`remote-do-rtl-build.sh` # use verilator to build a sim executable (remotely)
|
||||
`defaults.sh` # default variables used
|
||||
`check-commit.sh` # check that submodule commits are valid
|
||||
`build-extra-tests.sh` # build default chipyard tests located in tests/
|
||||
@@ -101,21 +99,9 @@ To get the CI to work correctly you need to create the following GH Repository S
|
||||
|
||||
| Secret | Value |
|
||||
| -------| ------------- |
|
||||
| BUILDSERVER | the hostname of the remote build server (likely be a millennium machine) |
|
||||
| BUILDUSER | the login to use on the build server |
|
||||
| BUILDDIR | the directory to use on the build server |
|
||||
| SERVERKEY | a private key to access the build server |
|
||||
|
||||
The main workflow also constructs and places in the environment a SERVER and a work directyory on that server env using the above secrets.
|
||||
The SERVER is constructed like this:
|
||||
```bash
|
||||
SERVER = ${{ secrets.BUILDUSER }}@${{ secrets.BUILDSERVER }}
|
||||
```
|
||||
|
||||
Additionally, you need to add under the "PERMISSIONS" "SSH Permissions" section a private key that is on the build server that you are using.
|
||||
After adding a private key, it will show a fingerprint that should be added under the jobs that need to be run.
|
||||
|
||||
Note: On the remote server you need to have the `*.pub` key file added to the `authorized_keys` file.
|
||||
Additionally, you need to install conda on the build servers that exist
|
||||
|
||||
Notes on CIRCLE CI
|
||||
------------------
|
||||
|
||||
28
.github/actions/cleanup-conda/action.yml
vendored
Normal file
28
.github/actions/cleanup-conda/action.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: cleanup-conda
|
||||
description: 'Remove extra conda environments'
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Remove extra conda environments
|
||||
run: |
|
||||
CONDA_REMOVE_NAMES=$(conda env list | awk '{print $1}' | tail -n +3 | grep "${{ env.conda-env-name-no-time }}" || true)
|
||||
if [ -z "$CONDA_REMOVE_NAMES" ]; then
|
||||
echo "No matching conda environments for ${{ env.conda-env-name-no-time }}. Skip removal."
|
||||
else
|
||||
echo "Removing $CONDA_REMOVE_NAMES conda environments."
|
||||
for env in $CONDA_REMOVE_NAMES; do
|
||||
conda env remove -n $env
|
||||
done
|
||||
fi
|
||||
conda env list | awk '{print $1}' | tail -n +4 | while read envname; do
|
||||
ENV_DATE=$(echo $envname | sed "s/cy-[[:digit:]]\+-\(.*\)-\(riscv\|esp\)-tools/\1/")
|
||||
NUM_DIFF=$(( ( $(date +%s) - $(date --date="$ENV_DATE" +%s) )/(60*60*24) ))
|
||||
if (( $NUM_DIFF > 7 )); then
|
||||
echo "Removing $envname since it is $NUM_DIFF days old."
|
||||
conda env remove -n $envname
|
||||
else
|
||||
echo "Skipping removal of $envname since it is $NUM_DIFF days old."
|
||||
fi
|
||||
done
|
||||
shell: bash -leo pipefail {0}
|
||||
18
.github/actions/create-conda-env/action.yml
vendored
Normal file
18
.github/actions/create-conda-env/action.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
name: create-conda-env
|
||||
description: 'Create conda environments if they dont exist'
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Create conda environments
|
||||
run: |
|
||||
if conda env list | grep -q "envs/${{ env.conda-env-name-no-time }}"; then
|
||||
echo "Using pre-existing conda environments with prefix ${{ env.conda-env-name-no-time }}"
|
||||
else
|
||||
echo "Creating a conda environment for each toolchain"
|
||||
conda env create -f ./scripts/conda-requirements.yaml -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
|
||||
conda install -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools -c ucb-bar -y riscv-tools
|
||||
conda env create -f ./scripts/conda-requirements.yaml -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools
|
||||
conda install -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools -c ucb-bar -y esp-tools
|
||||
fi
|
||||
shell: bash -leo pipefail {0}
|
||||
15
.github/actions/git-workaround/action.yml
vendored
Normal file
15
.github/actions/git-workaround/action.yml
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
name: git-workaround
|
||||
description: 'Workaround https://github.com/actions/checkout/issues/766'
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Workaround
|
||||
run: |
|
||||
if git config --global -l | grep -q "safe.directory=$GITHUB_WORKSPACE"; then
|
||||
echo "Skip adding safe directory"
|
||||
else
|
||||
echo "Add $GITHUB_WORKSPACE to global git config"
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
fi
|
||||
shell: bash -leo pipefail {0}
|
||||
16
.github/actions/prepare-rtl/action.yml
vendored
16
.github/actions/prepare-rtl/action.yml
vendored
@@ -13,28 +13,30 @@ inputs:
|
||||
description: type of build
|
||||
required: false
|
||||
default: "sim"
|
||||
toolchain:
|
||||
description: toolchain to use
|
||||
required: false
|
||||
default: "riscv-tools"
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Build RISC-V toolchains
|
||||
uses: ./.github/actions/toolchain-build
|
||||
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/cache@v3
|
||||
id: rtl-build-id
|
||||
with:
|
||||
path: |
|
||||
sims/verilator
|
||||
sims/firesim/sim
|
||||
generators/gemmini/software/gemmini-rocc-tests
|
||||
key: ${{ inputs.group-key }}-${{ github.ref }}-${{ github.sha }}
|
||||
key: ${{ inputs.group-key }}-${{ github.sha }}
|
||||
|
||||
- name: Run RTL build if not cached
|
||||
run: |
|
||||
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-${{ inputs.toolchain }}
|
||||
if [[ "${{ steps.rtl-build-id.outputs.cache-hit }}" != 'true' ]]; then
|
||||
echo "Cache miss on ${{ inputs.group-key }}-${{ github.ref }}-${{ github.sha }}"
|
||||
echo "Cache miss on ${{ inputs.group-key }}-${{ github.sha }}"
|
||||
./.github/scripts/${{ inputs.build-script }} ${{ inputs.group-key }} ${{ inputs.build-type }}
|
||||
else
|
||||
echo "Cache hit do not rebuild RTL for ${{ inputs.group-key }}"
|
||||
fi
|
||||
shell: bash
|
||||
shell: bash -leo pipefail {0}
|
||||
|
||||
17
.github/actions/run-tests/action.yml
vendored
17
.github/actions/run-tests/action.yml
vendored
@@ -12,20 +12,29 @@ inputs:
|
||||
description: rtl build script to use
|
||||
required: false
|
||||
default: "run-tests.sh"
|
||||
toolchain:
|
||||
description: toolchain to use
|
||||
required: false
|
||||
default: "riscv-tools"
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Init submodules (since only the RTL is cached)
|
||||
run: ./scripts/init-submodules-no-riscv-tools.sh --skip-validate
|
||||
shell: bash
|
||||
run: |
|
||||
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-${{ inputs.toolchain }}
|
||||
./scripts/init-submodules-no-riscv-tools.sh --skip-validate
|
||||
shell: bash -leo pipefail {0}
|
||||
|
||||
# Note: You shouldn't need the other inputs since it shouldn't build RTL from scratch
|
||||
- name: Build RTL
|
||||
uses: ./.github/actions/prepare-rtl
|
||||
with:
|
||||
group-key: ${{ inputs.group-key }}
|
||||
toolchain: ${{ inputs.toolchain }}
|
||||
|
||||
- name: Run RTL tests
|
||||
run: ./.github/scripts/${{ inputs.run-script }} ${{ inputs.project-key }}
|
||||
shell: bash
|
||||
run: |
|
||||
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-${{ inputs.toolchain }}
|
||||
./.github/scripts/${{ inputs.run-script }} ${{ inputs.project-key }}
|
||||
shell: bash -leo pipefail {0}
|
||||
|
||||
51
.github/actions/toolchain-build/action.yml
vendored
51
.github/actions/toolchain-build/action.yml
vendored
@@ -1,51 +0,0 @@
|
||||
name: toolchain-build
|
||||
description: 'Build/cache both toolchains'
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Generate hashes
|
||||
run: .github/scripts/create-hash.sh
|
||||
shell: bash
|
||||
|
||||
# since "hashFiles" function differs on self-hosted vs GH-A machines
|
||||
# make sure to cache the GH-A hashFiles result so that self-hosted can use it
|
||||
- run: |
|
||||
echo "${{ hashFiles('**/riscv-tools.hash') }}" > riscv-tools.hashFilesOutput
|
||||
echo "${{ hashFiles('**/esp-tools.hash') }}" > esp-tools.hashFilesOutput
|
||||
shell: bash
|
||||
|
||||
- name: Cache hashFiles outputs
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
riscv-tools.hashFilesOutput
|
||||
esp-tools.hashFilesOutput
|
||||
key: hashFiles-${{ github.sha }}
|
||||
|
||||
- name: Generate cache keys based off hashFiles output
|
||||
id: genkey
|
||||
run: |
|
||||
echo "::set-output name=riscv-tools-cache-key::$(cat riscv-tools.hashFilesOutput)"
|
||||
echo "::set-output name=esp-tools-cache-key::$(cat esp-tools.hashFilesOutput)"
|
||||
shell: bash
|
||||
|
||||
- name: Cache riscv-tools
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: riscv-tools-install
|
||||
key: riscv-tools-installed-${{ env.tools-cache-version }}-${{ steps.genkey.outputs.riscv-tools-cache-key }}
|
||||
|
||||
- name: Cache esp-tools
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: esp-tools-install
|
||||
key: esp-tools-installed-${{ env.tools-cache-version }}-${{ steps.genkey.outputs.esp-tools-cache-key }}
|
||||
|
||||
- name: Build RISC-V toolchain if not cached
|
||||
run: ./.github/scripts/build-toolchains.sh riscv-tools
|
||||
shell: bash
|
||||
|
||||
- name: Build ESP RISC-V toolchain if not cached
|
||||
run: ./.github/scripts/build-toolchains.sh esp-tools
|
||||
shell: bash
|
||||
4
.github/scripts/build-extra-tests.sh
vendored
4
.github/scripts/build-extra-tests.sh
vendored
@@ -7,9 +7,5 @@ set -ex
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
export RISCV="$GITHUB_WORKSPACE/riscv-tools-install"
|
||||
export LD_LIBRARY_PATH="$RISCV/lib"
|
||||
export PATH="$RISCV/bin:$PATH"
|
||||
|
||||
make -C $LOCAL_CHIPYARD_DIR/tests clean
|
||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||
|
||||
21
.github/scripts/build-toolchains.sh
vendored
21
.github/scripts/build-toolchains.sh
vendored
@@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# create the riscv tools/esp tools binaries
|
||||
# passed in as <riscv-tools or esp-tools>
|
||||
|
||||
# turn echo on and error on earliest command
|
||||
set -ex
|
||||
|
||||
# get shared variables
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
if [ ! -d "$HOME/$1-install" ]; then
|
||||
cd $HOME
|
||||
|
||||
# init all submodules including the tools
|
||||
CHIPYARD_DIR="$LOCAL_CHIPYARD_DIR" NPROC=$CI_MAKE_NPROC $LOCAL_CHIPYARD_DIR/scripts/build-toolchains.sh $1
|
||||
|
||||
# de-init the toolchain area to save on space (forced to ignore local changes)
|
||||
git submodule deinit --force $LOCAL_CHIPYARD_DIR/toolchains/$1
|
||||
fi
|
||||
27
.github/scripts/check-commit.sh
vendored
27
.github/scripts/check-commit.sh
vendored
@@ -52,28 +52,6 @@ dir="generators"
|
||||
branches=("master" "main" "dev")
|
||||
search
|
||||
|
||||
submodules=("riscv-gnu-toolchain" "riscv-isa-sim" "riscv-pk" "riscv-tests")
|
||||
dir="toolchains/esp-tools"
|
||||
branches=("master")
|
||||
search
|
||||
|
||||
|
||||
submodules=("riscv-gnu-toolchain" "riscv-isa-sim" "riscv-pk" "riscv-tests")
|
||||
dir="toolchains/riscv-tools"
|
||||
branches=("master")
|
||||
search
|
||||
|
||||
# riscv-openocd doesn't use its master branch
|
||||
submodules=("riscv-openocd")
|
||||
dir="toolchains/riscv-tools"
|
||||
branches=("riscv")
|
||||
search
|
||||
|
||||
submodules=("qemu" "libgloss")
|
||||
dir="toolchains"
|
||||
branches=("master")
|
||||
search
|
||||
|
||||
submodules=("coremark" "firemarshal" "nvdla-workload" "spec2017")
|
||||
dir="software"
|
||||
branches=("master" "dev")
|
||||
@@ -84,11 +62,6 @@ dir="tools"
|
||||
branches=("master" "dev")
|
||||
search
|
||||
|
||||
submodules=("dromajo-src")
|
||||
dir="tools/dromajo"
|
||||
branches=("master")
|
||||
search
|
||||
|
||||
submodules=("firesim")
|
||||
dir="sims"
|
||||
branches=("master" "main" "dev" "1.13.x")
|
||||
|
||||
20
.github/scripts/create-hash.sh
vendored
20
.github/scripts/create-hash.sh
vendored
@@ -1,20 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# get the hash of riscv-tools
|
||||
|
||||
# turn echo on and error on earliest command
|
||||
set -ex
|
||||
set -o pipefail
|
||||
|
||||
# get shared variables
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
# Use normalized output of git-submodule status as hashfile
|
||||
for tools in 'riscv-tools' 'esp-tools' ; do
|
||||
git submodule status "toolchains/${tools}" 'toolchains/libgloss' 'toolchains/qemu' |
|
||||
while read -r line ; do
|
||||
echo "${line#[!0-9a-f]}"
|
||||
done > "${tools}.hash"
|
||||
done
|
||||
echo "Hashfile for riscv-tools and esp-tools created in $PWD"
|
||||
13
.github/scripts/defaults.sh
vendored
13
.github/scripts/defaults.sh
vendored
@@ -5,18 +5,11 @@ CI_MAKE_NPROC=8
|
||||
# chosen based on a 24c system shared with 1 other project
|
||||
REMOTE_MAKE_NPROC=4
|
||||
|
||||
# verilator version
|
||||
VERILATOR_VERSION=v4.034
|
||||
|
||||
HOME=$GITHUB_WORKSPACE
|
||||
|
||||
# remote variables
|
||||
# CI_DIR is defined externally based on the GH repository secret BUILDDIR
|
||||
|
||||
REMOTE_PREFIX=$CI_DIR/${GITHUB_REPOSITORY#*/}-${GITHUB_REF_NAME//\//-}
|
||||
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
|
||||
@@ -24,13 +17,9 @@ REMOTE_FPGA_DIR=$REMOTE_CHIPYARD_DIR/fpga
|
||||
REMOTE_JAVA_OPTS="-Xmx10G -Xss8M"
|
||||
# Disable the supershell to greatly improve the readability of SBT output when captured by Circle CI
|
||||
REMOTE_SBT_OPTS="-Dsbt.ivy.home=$REMOTE_WORK_DIR/.ivy2 -Dsbt.supershell=false -Dsbt.global.base=$REMOTE_WORK_DIR/.sbt -Dsbt.boot.directory=$REMOTE_WORK_DIR/.sbt/boot"
|
||||
REMOTE_VERILATOR_DIR=$REMOTE_PREFIX-$GITHUB_SHA-verilator-install
|
||||
|
||||
# local variables (aka within the docker container)
|
||||
LOCAL_CHECKOUT_DIR=$HOME/project
|
||||
LOCAL_RISCV_DIR=$HOME/riscv-tools-install
|
||||
LOCAL_ESP_DIR=$HOME/esp-tools-install
|
||||
LOCAL_CHIPYARD_DIR=$HOME
|
||||
LOCAL_CHIPYARD_DIR=$GITHUB_WORKSPACE
|
||||
LOCAL_SIM_DIR=$LOCAL_CHIPYARD_DIR/sims/verilator
|
||||
LOCAL_FIRESIM_DIR=$LOCAL_CHIPYARD_DIR/sims/firesim/sim
|
||||
|
||||
|
||||
11
.github/scripts/remote-do-rtl-build.sh
vendored
11
.github/scripts/remote-do-rtl-build.sh
vendored
@@ -18,13 +18,7 @@ cd $REMOTE_CHIPYARD_DIR
|
||||
./scripts/init-submodules-no-riscv-tools.sh --skip-validate
|
||||
./scripts/init-fpga.sh
|
||||
|
||||
TOOLS_DIR=$REMOTE_RISCV_DIR
|
||||
LD_LIB_DIR=$REMOTE_RISCV_DIR/lib
|
||||
|
||||
if [ $1 = "group-accels" ]; then
|
||||
export RISCV=$REMOTE_ESP_DIR
|
||||
export LD_LIBRARY_PATH=$REMOTE_ESP_DIR/lib
|
||||
export PATH=$RISCV/bin:$PATH
|
||||
pushd $REMOTE_CHIPYARD_DIR/generators/gemmini/software
|
||||
git submodule update --init --recursive gemmini-rocc-tests
|
||||
pushd gemmini-rocc-tests
|
||||
@@ -44,7 +38,6 @@ case $2 in
|
||||
esac
|
||||
|
||||
# enter the verilator directory and build the specific config on remote server
|
||||
export RISCV=$TOOLS_DIR
|
||||
make -C $REMOTE_MAKE_DIR clean
|
||||
|
||||
read -a keys <<< ${grouping[$1]}
|
||||
@@ -52,10 +45,6 @@ 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
|
||||
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
|
||||
|
||||
22
.github/scripts/remote-install-verilator.sh
vendored
22
.github/scripts/remote-install-verilator.sh
vendored
@@ -1,22 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# install verilator
|
||||
|
||||
# turn echo on and error on earliest command
|
||||
set -ex
|
||||
|
||||
# get shared variables
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
# clean older directories (delete prior directories related to this branch also)
|
||||
$SCRIPT_DIR/clean-old-files.sh $CI_DIR
|
||||
rm -rf $REMOTE_PREFIX*
|
||||
|
||||
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
|
||||
@@ -10,10 +10,6 @@ set -ex
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
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
|
||||
REMOTE_FIRESIM_SYSROOT=$REMOTE_FIRESIM_DIR/lib-install
|
||||
@@ -30,15 +26,8 @@ cd $REMOTE_CHIPYARD_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
|
||||
export RISCV=$TOOLS_DIR
|
||||
export LD_LIBRARY_PATH=$LD_LIB_DIR
|
||||
export LD_LIBRARY_PATH=$REMOTE_FIRESIM_SYSROOT/lib:$LD_LIBRARY_PATH
|
||||
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]}
|
||||
|
||||
13
.github/scripts/run-tests.sh
vendored
13
.github/scripts/run-tests.sh
vendored
@@ -9,10 +9,6 @@ set -ex
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
export RISCV="$GITHUB_WORKSPACE/riscv-tools-install"
|
||||
export LD_LIBRARY_PATH="$RISCV/lib"
|
||||
export PATH="$RISCV/bin:$PATH"
|
||||
|
||||
DISABLE_SIM_PREREQ="BREAK_SIM_PREREQ=1"
|
||||
|
||||
run_bmark () {
|
||||
@@ -52,15 +48,9 @@ case $1 in
|
||||
run_bmark ${mapping[$1]}
|
||||
;;
|
||||
chipyard-hwacha)
|
||||
export RISCV=$LOCAL_ESP_DIR
|
||||
export LD_LIBRARY_PATH=$LOCAL_ESP_DIR/lib
|
||||
export PATH=$RISCV/bin:$PATH
|
||||
make run-rv64uv-p-asm-tests -j$CI_MAKE_NPROC -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]}
|
||||
;;
|
||||
chipyard-gemmini)
|
||||
export RISCV=$LOCAL_ESP_DIR
|
||||
export LD_LIBRARY_PATH=$LOCAL_ESP_DIR/lib
|
||||
export PATH=$RISCV/bin:$PATH
|
||||
GEMMINI_SOFTWARE_DIR=$LOCAL_SIM_DIR/../../generators/gemmini/software/gemmini-rocc-tests
|
||||
rm -rf $GEMMINI_SOFTWARE_DIR/riscv-tests
|
||||
cd $LOCAL_SIM_DIR
|
||||
@@ -69,9 +59,6 @@ case $1 in
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$GEMMINI_SOFTWARE_DIR/build/bareMetalC/mvin_mvout-baremetal
|
||||
;;
|
||||
chipyard-sha3)
|
||||
export RISCV=$LOCAL_ESP_DIR
|
||||
export LD_LIBRARY_PATH=$LOCAL_ESP_DIR/lib
|
||||
export PATH=$RISCV/bin:$PATH
|
||||
(cd $LOCAL_CHIPYARD_DIR/generators/sha3/software && ./build.sh)
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/generators/sha3/software/tests/bare/sha3-rocc.riscv
|
||||
;;
|
||||
|
||||
448
.github/workflows/chipyard-run-tests.yml
vendored
448
.github/workflows/chipyard-run-tests.yml
vendored
@@ -7,13 +7,17 @@ on:
|
||||
- main
|
||||
- '1.[0-9]*.x'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash -leo pipefail {0}
|
||||
|
||||
env:
|
||||
tools-cache-version: v14
|
||||
BUILDSERVER: ${{ secrets.BUILDSERVER }}
|
||||
BUILDUSER: ${{ secrets.BUILDUSER }}
|
||||
SERVER: ${{ secrets.BUILDUSER }}@${{ secrets.BUILDSERVER }}
|
||||
tools-cache-version: v17
|
||||
CI_DIR: ${{ secrets.BUILDDIR }}
|
||||
JVM_OPTS: -Xmx3200m # Customize the JVM maximum heap limit
|
||||
conda-env-name-no-time: cy-${{ github.run_id }}
|
||||
workflow-timestamp: ${{ github.event.pull_request.updated_at }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
jobs:
|
||||
cancel-prior-workflows:
|
||||
@@ -36,7 +40,9 @@ jobs:
|
||||
needs-rtl: ${{ steps.filter.outputs.all_count != steps.filter.outputs.skip-rtl_count }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- uses: dorny/paths-filter@v2
|
||||
id: filter
|
||||
with:
|
||||
@@ -62,7 +68,7 @@ jobs:
|
||||
if: needs.change-filters.outputs.needs-rtl == 'true'
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ucbbar/chipyard-ci-image:554b436
|
||||
image: ucbbar/chipyard-ci-image:59dad4bc
|
||||
options: --entrypoint /bin/bash
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
@@ -72,9 +78,15 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Check commits of each submodule
|
||||
run: .github/scripts/check-commit.sh
|
||||
run: |
|
||||
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
|
||||
.github/scripts/check-commit.sh
|
||||
|
||||
tutorial-setup-check:
|
||||
name: tutorial-setup-check
|
||||
@@ -82,7 +94,7 @@ jobs:
|
||||
if: needs.change-filters.outputs.needs-rtl == 'true'
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ucbbar/chipyard-ci-image:554b436
|
||||
image: ucbbar/chipyard-ci-image:59dad4bc
|
||||
options: --entrypoint /bin/bash
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
@@ -92,16 +104,22 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Check that the tutorial-setup patches apply
|
||||
run: scripts/tutorial-setup.sh
|
||||
run: |
|
||||
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
|
||||
scripts/tutorial-setup.sh
|
||||
|
||||
documentation-check:
|
||||
name: documentation-check
|
||||
needs: change-filters
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ucbbar/chipyard-ci-image:554b436
|
||||
image: ucbbar/chipyard-ci-image:59dad4bc
|
||||
options: --entrypoint /bin/bash
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
@@ -111,44 +129,26 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Check that documentation builds with no warnings/errors
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y python3-pip
|
||||
sudo pip3 install -r docs/requirements.txt
|
||||
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
|
||||
make -C docs html
|
||||
- name: Show error log from sphinx if failed
|
||||
if: ${{ failure() }}
|
||||
run: cat /tmp/sphinx-err*.log
|
||||
|
||||
install-toolchains:
|
||||
name: install-toolchains
|
||||
needs: change-filters
|
||||
if: needs.change-filters.outputs.needs-rtl == 'true'
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ucbbar/chipyard-ci-image:554b436
|
||||
options: --entrypoint /bin/bash
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
ls -alh .
|
||||
rm -rf ${{ github.workspace }}/* || true
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Build RISC-V toolchains
|
||||
uses: ./.github/actions/toolchain-build
|
||||
|
||||
build-extra-tests:
|
||||
name: build-extra-tests
|
||||
needs: [change-filters, install-toolchains]
|
||||
needs: [change-filters]
|
||||
if: needs.change-filters.outputs.needs-rtl == 'true'
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ucbbar/chipyard-ci-image:554b436
|
||||
image: ucbbar/chipyard-ci-image:59dad4bc
|
||||
options: --entrypoint /bin/bash
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
@@ -158,24 +158,28 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Build RISC-V toolchains
|
||||
uses: ./.github/actions/toolchain-build
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Generate keys
|
||||
id: genkey
|
||||
run: |
|
||||
echo "::set-output name=extra-tests-cache-key::extra-tests-${{ github.ref }}-${{ github.sha }}"
|
||||
- uses: actions/cache@v2
|
||||
echo "::set-output name=extra-tests-cache-key::extra-tests-${{ github.sha }}"
|
||||
- uses: actions/cache@v3
|
||||
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
|
||||
run: .github/scripts/build-extra-tests.sh
|
||||
run: |
|
||||
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
|
||||
.github/scripts/build-extra-tests.sh
|
||||
|
||||
install-verilator-knight:
|
||||
name: install-verilator-knight
|
||||
create-conda-env-knight:
|
||||
name: create-conda-env-knight
|
||||
needs: [change-filters, cancel-prior-workflows]
|
||||
if: needs.change-filters.outputs.needs-rtl == 'true'
|
||||
runs-on: knight
|
||||
@@ -187,12 +191,16 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Build verilator on knight CI machine
|
||||
run: .github/scripts/remote-install-verilator.sh
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Cleanup conda
|
||||
uses: ./.github/actions/cleanup-conda
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
|
||||
install-verilator-ferry:
|
||||
name: install-verilator-ferry
|
||||
create-conda-env-ferry:
|
||||
name: create-conda-env-ferry
|
||||
needs: [change-filters, cancel-prior-workflows]
|
||||
if: needs.change-filters.outputs.needs-rtl == 'true'
|
||||
runs-on: ferry
|
||||
@@ -204,16 +212,20 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Build verilator on ferry CI machine
|
||||
run: .github/scripts/remote-install-verilator.sh
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Cleanup conda
|
||||
uses: ./.github/actions/cleanup-conda
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
|
||||
# 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-toolchains, install-verilator-knight, install-verilator-ferry, build-extra-tests]
|
||||
needs: [create-conda-env-knight, create-conda-env-ferry, build-extra-tests]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up complete
|
||||
@@ -233,7 +245,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Build RTL on self-hosted
|
||||
uses: ./.github/actions/prepare-rtl
|
||||
with:
|
||||
@@ -251,7 +267,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Build RTL on self-hosted
|
||||
uses: ./.github/actions/prepare-rtl
|
||||
with:
|
||||
@@ -269,11 +289,16 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Build RTL on self-hosted
|
||||
uses: ./.github/actions/prepare-rtl
|
||||
with:
|
||||
group-key: "group-accels"
|
||||
toolchain: "esp-tools"
|
||||
|
||||
prepare-chipyard-tracegen:
|
||||
name: prepare-chipyard-tracegen
|
||||
@@ -287,7 +312,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Build RTL on self-hosted
|
||||
uses: ./.github/actions/prepare-rtl
|
||||
with:
|
||||
@@ -305,7 +334,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Build RTL on self-hosted
|
||||
uses: ./.github/actions/prepare-rtl
|
||||
with:
|
||||
@@ -323,7 +356,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Build RTL on self-hosted
|
||||
uses: ./.github/actions/prepare-rtl
|
||||
with:
|
||||
@@ -335,10 +372,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -347,7 +381,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -357,10 +395,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -369,7 +404,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -379,10 +418,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -391,7 +427,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -401,10 +441,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -413,7 +450,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -423,10 +464,7 @@ jobs:
|
||||
chipyard-ibex-run-tests:
|
||||
name: chipyard-ibex-run-tests
|
||||
needs: prepare-chipyard-cores
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ucbbar/chipyard-ci-image:554b436
|
||||
options: --entrypoint /bin/bash
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -435,7 +473,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -445,10 +487,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -457,7 +496,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -467,10 +510,7 @@ jobs:
|
||||
chipyard-fftgenerator-run-tests:
|
||||
name: chipyard-fftgenerator-run-tests
|
||||
needs: prepare-chipyard-accels
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ucbbar/chipyard-ci-image:554b436
|
||||
options: --entrypoint /bin/bash
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -479,7 +519,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -489,10 +533,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -501,7 +542,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -511,10 +556,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -523,7 +565,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -533,10 +579,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -545,7 +588,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -555,10 +602,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -567,7 +611,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -577,10 +625,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -589,20 +634,22 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
group-key: "group-accels"
|
||||
project-key: "chipyard-sha3"
|
||||
toolchain: "esp-tools"
|
||||
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -611,7 +658,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -621,10 +672,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -633,7 +681,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -643,10 +695,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -655,20 +704,22 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
group-key: "group-accels"
|
||||
project-key: "chipyard-hwacha"
|
||||
toolchain: "esp-tools"
|
||||
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -677,20 +728,22 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
group-key: "group-accels"
|
||||
project-key: "chipyard-gemmini"
|
||||
toolchain: "esp-tools"
|
||||
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -699,7 +752,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -709,10 +766,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -721,7 +775,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -731,10 +789,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -743,7 +798,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -753,10 +812,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -765,7 +821,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -775,10 +835,7 @@ jobs:
|
||||
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
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
@@ -787,33 +844,40 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
group-key: "group-other"
|
||||
project-key: "testchipip"
|
||||
|
||||
# TODO: Determine why elfutils is failing here
|
||||
# firesim-run-tests:
|
||||
# name: firesim-run-tests
|
||||
# needs: setup-complete
|
||||
# runs-on: self-hosted
|
||||
# steps:
|
||||
# - name: Delete old checkout
|
||||
# run: |
|
||||
# ls -alh .
|
||||
# rm -rf ${{ github.workspace }}/* || true
|
||||
# rm -rf ${{ github.workspace }}/.* || true
|
||||
# ls -alh .
|
||||
# - name: Checkout
|
||||
# uses: actions/checkout@v2
|
||||
# - name: Run tests on self-hosted
|
||||
# uses: ./.github/actions/run-tests
|
||||
# with:
|
||||
# group-key: "extra-tests"
|
||||
# project-key: "firesim"
|
||||
# run-script: "remote-run-firesim-scala-tests.sh"
|
||||
firesim-run-tests:
|
||||
name: firesim-run-tests
|
||||
needs: setup-complete
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Delete old checkout
|
||||
run: |
|
||||
ls -alh .
|
||||
rm -rf ${{ github.workspace }}/* || true
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests on self-hosted
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
group-key: "extra-tests"
|
||||
project-key: "firesim"
|
||||
run-script: "remote-run-firesim-scala-tests.sh"
|
||||
|
||||
fireboom-run-tests:
|
||||
name: fireboom-run-tests
|
||||
@@ -827,7 +891,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests on self-hosted
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
@@ -847,7 +915,11 @@ jobs:
|
||||
rm -rf ${{ github.workspace }}/.* || true
|
||||
ls -alh .
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Git workaround
|
||||
uses: ./.github/actions/git-workaround
|
||||
- name: Create conda env
|
||||
uses: ./.github/actions/create-conda-env
|
||||
- name: Run tests on self-hosted
|
||||
uses: ./.github/actions/run-tests
|
||||
with:
|
||||
|
||||
Reference in New Issue
Block a user