mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-27 15:52:14 +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.
36 lines
727 B
Bash
36 lines
727 B
Bash
#! /bin/bash
|
|
|
|
set -ex
|
|
|
|
set +u
|
|
if [[ "$DEP" == "" ]]; then
|
|
DEP=$GOPATH/src/github.com/tendermint/tendermint/Gopkg.lock
|
|
fi
|
|
set -u
|
|
|
|
|
|
set -u
|
|
|
|
function getVendoredVersion() {
|
|
grep -A100 "$LIB" "$DEP" | grep revision | head -n1 | grep -o '"[^"]\+"' | cut -d '"' -f 2
|
|
}
|
|
|
|
|
|
# fetch and checkout vendored dep
|
|
|
|
lib=$1
|
|
|
|
echo "----------------------------------"
|
|
echo "Getting $lib ..."
|
|
go get -t "github.com/tendermint/$lib/..."
|
|
|
|
VENDORED=$(getVendoredVersion "$lib")
|
|
cd "$GOPATH/src/github.com/tendermint/$lib" || exit
|
|
MASTER=$(git rev-parse origin/master)
|
|
|
|
if [[ "$VENDORED" != "$MASTER" ]]; then
|
|
echo "... VENDORED != MASTER ($VENDORED != $MASTER)"
|
|
echo "... Checking out commit $VENDORED"
|
|
git checkout "$VENDORED" &> /dev/null
|
|
fi
|