neo-go/scripts/check_deps.sh
Evgeniy Stratonikov 6787db8a62 .github: extend interop deps check
Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
2022-03-15 17:15:40 +03:00

28 lines
896 B
Bash
Executable file

#!/bin/sh
die() {
echo "$*"
exit 1
}
find -name go.mod -print0 |
xargs -0 -n1 grep -o 'pkg/interop v\S*' |
uniq | wc -l |
xargs -I{} -n1 [ 1 -eq {} ] ||
die "Different versions for dependencies in go.mod"
INTEROP_COMMIT="$(sed -E -n -e 's/.*pkg\/interop.+-.+-(\w+)/\1/ p' go.mod)"
git merge-base --is-ancestor "$INTEROP_COMMIT" HEAD ||
die "pkg/interop commit $INTEROP_COMMIT was not found in git"
for dir in examples/*/; do
INTEROP_COMMIT="$(sed -E -n -e 's/.*pkg\/interop.+-.+-(\w+)/\1/ p' "$dir/go.mod")"
git merge-base --is-ancestor "$INTEROP_COMMIT" HEAD ||
die "$dir: pkg/interop commit $INTEROP_COMMIT was not found in git"
if [ -z "${dir#*nft-nd-nns/}" ]; then
NEO_GO_COMMIT="$(sed -E -n -e 's/.*neo-go\s.+-.+-(\w+)/\1/ p' "$dir/go.mod")"
git merge-base --is-ancestor "$NEO_GO_COMMIT" HEAD ||
die "$dir: neo-go commit $NEO_GO_COMMIT was not found in git"
fi
done