Files
chipyard/.github/scripts/check-commit.sh
joonho hwangbo 2a9fe9bb67 Add compress-acc (#1906)
* Add compress-acc

* Bump compress-acc, add ci

* update compress-acc url to https

* Add docs

* url oops

* Bump compress-acc

* BUMP

* Use loadmem for ci runs

* Add width widget

* Bump
2024-06-22 16:08:57 -07:00

121 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
# check to see that submodule commits are present on the master branch
# turn echo on and error on earliest command
set -ex
# get shared variables
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
source $SCRIPT_DIR/defaults.sh
cd $LOCAL_CHIPYARD_DIR
# ignore the private vlsi submodules
git config submodule.vlsi/hammer-mentor-plugins.update none
# initialize submodules and get the hashes
git submodule update --init
status=$(git submodule status)
all_names=()
search_submodule() {
echo "Running check on submodule $submodule in $dir"
hash=$(echo "$status" | grep "$dir.*$submodule " | awk '{print$1}' | grep -o "[[:alnum:]]*")
for branch in "${branches[@]}"
do
echo "Searching for $hash in origin/$branch of $submodule"
(git -C $dir/$submodule branch -r --contains "$hash" | grep "origin/$branch") && true # needs init'ed submodules
if [ $? -eq 0 ]
then
all_names+=("$dir/$submodule $hash 0")
return
fi
done
all_names+=("$dir/$submodule $hash 1")
return
}
search () {
for submodule in "${submodules[@]}"
do
search_submodule
done
}
submodules=("cva6" "boom" "ibex" "gemmini" "icenet" "nvdla" "rocket-chip" "rocket-chip-blocks" "rocket-chip-inclusive-cache" "testchipip" "riscv-sodor" "mempress" "bar-fetchers" "shuttle" "constellation" "fft-generator" "hardfloat" "caliptra-aes-acc" "rocc-acc-utils" "diplomacy" "rerocc" "compress-acc")
dir="generators"
branches=("master" "main" "dev")
search
submodules=("riscv-tools-feedstock")
dir="toolchains/riscv-tools"
branches=("main")
search
submodules=("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=("libgloss")
dir="toolchains"
branches=("master")
search
submodules=("firesim")
dir="sims"
branches=("main")
search
submodules=("coremark" "firemarshal" "nvdla-workload" "spec2017")
dir="software"
branches=("master" "dev")
search
submodules=("DRAMSim2" "axe" "dsptools" "dsptools-chisel3" "rocket-dsp-utils" "torture" "fixedpoint" "fixedpoint-chisel3" "cde" "midas-targetutils")
dir="tools"
branches=("master" "dev" "main")
search
submodules=("fpga-shells")
dir="fpga"
branches=("main")
search
# turn off verbose printing to make this easier to read
set +x
# print 0's
for str in "${all_names[@]}";
do
if [ 0 = $(echo "$str" | awk '{print$3}') ]; then
echo "$str"
fi
done
echo ""
# check if there was a non-zero return code and print 1's
EXIT=0
for str in "${all_names[@]}";
do
if [ ! 0 = $(echo "$str" | awk '{print$3}') ]; then
echo "$str"
EXIT=1
fi
done
echo "Done checking all submodules"
exit $EXIT