mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-26 15:22:15 +00:00
To achieve faster feedback cycles for our feature PRs this change reduces the average buildtime from 35 to ~6min by utilising their new 2.0 offering based on docker and nomad. We make use of parallel build steps wherever possible so that the duration is determined by the slowest test suite (p2p). This is an intermediate step until we move our CI/CD completely on-premise for more control and added security.
35 lines
728 B
Bash
35 lines
728 B
Bash
#! /bin/bash
|
|
set -ex
|
|
|
|
export PATH="$GOBIN:$PATH"
|
|
|
|
# Get the parent directory of where this script is.
|
|
SOURCE="${BASH_SOURCE[0]}"
|
|
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
|
|
DIR="$( cd -P "$( dirname "$SOURCE" )/.." && pwd )"
|
|
|
|
####################
|
|
# libs we depend on
|
|
####################
|
|
|
|
# All libs should define `make test` and `make get_vendor_deps`
|
|
LIBS=(tmlibs go-wire go-crypto abci)
|
|
for lib in "${LIBS[@]}"; do
|
|
# checkout vendored version of lib
|
|
bash scripts/dep_utils/checkout.sh "$lib"
|
|
|
|
echo "Testing $lib ..."
|
|
cd "$GOPATH/src/github.com/tendermint/$lib"
|
|
make get_tools
|
|
make get_vendor_deps
|
|
make test
|
|
if [[ "$?" != 0 ]]; then
|
|
echo "FAIL"
|
|
exit 1
|
|
fi
|
|
cd "$DIR"
|
|
done
|
|
|
|
echo ""
|
|
echo "PASS"
|