2019-02-22 13:24:15 -08:00
# simplified version of the upstream travis configuration with additional features
# 1. Distribute binaries to bintray from Tag
# 2. Run quorum-acceptance-tests for Pull Requests
2018-09-11 08:25:24 -07:00
2014-11-15 17:36:30 -08:00
language : go
2016-05-25 05:07:57 -07:00
go_import_path : github.com/ethereum/go-ethereum
2019-08-27 12:17:59 -07:00
go : 1.11 .x
2019-01-23 12:10:09 -08:00
sudo : true
branches :
only :
- /.*/ # everything including tags
2019-02-22 13:24:15 -08:00
2019-01-23 12:10:09 -08:00
env :
global :
- BINTRAY_ORGANIZATION=quorumengineering
- BINTRAY_USER=quorumbot
# Bintray API Key
- secure : "QHiPcd3zQoJEsT3VSpxoLVTYwbiYzS8H18EpY7Tk0EqCIfswS2AvRlyRXUxNvCf9ktzpaeXV4b5cPYJ67dwdp5V/O/ARaK5AL6ZjjrTPR1avPnmz/X2VeQEP0aWk1UGMs1nBUj5rzMbIIxlVhpbiITTLAI4Ao0+xRcBi215mDbv271Z7mACEZfXxjaoJA0/3IkbKz9pu1nC7bTjaaExCDAeLp2p8fHi2YQPnBll/7dkn/m1rnsIY9M3KWNCx6xBmQOr1hulrrB6tZoHwFBoDsVTFJFLckPfrWUZsYUgtfWJMQWc6ntv1gFl0f9x6s5fYEphCU2m1JYjEczlQ03B5ro9EyPGKjO7vQxAaFd5nVd2Xf34ZbssEIyXxlSnP/4Gv1GXl9L9aU1Hth9ckYvT5gYP5t/Nw3CDbKD0HelPBvkf8jZwfdlotzFPS2bOZNdl/rJLWgQrX18a/mC3BH9l4TSRz13tbRfo6YcC3Y/uOvG1n4GxzcVaWojAxn86SkknOczPTf2pk9F3JOcGVSYA2R4kGQAe+ErJH2X5g2sh1D5cCYDjQyl5rzWg6P3eK//HYW+mg2+TQ8k2iQVVSwFwrR0Yn4P+5cRDCW9mjtktgq1rTtslj41gSH49Avqr9oXGM2rqdcJPdN8dnmLMrAtmeSUNMMoexiRMmlF2OQKLrW3k="
2019-02-22 13:24:15 -08:00
2016-05-25 05:07:57 -07:00
matrix :
include :
2019-02-22 13:24:15 -08:00
#raft consensus
- if : tag IS blank AND type = pull_request
name : acceptance-tests-raft
os : linux
dist : trusty
git :
submodules : false
cache :
directories :
- $HOME/.m2
env :
- TF_VAR_consensus_mechanism=raft
install :
- $TRAVIS_BUILD_DIR/build/travis-install-linux.sh
script :
- $TRAVIS_BUILD_DIR/build/travis-run-acceptance-tests-linux.sh
#istanbul consensus
- if : tag IS blank AND type = pull_request
name : acceptance-tests-istanbul
os : linux
dist : trusty
git :
submodules : false
cache :
directories :
- $HOME/.m2
env :
- TF_VAR_consensus_mechanism=istanbul
install :
- $TRAVIS_BUILD_DIR/build/travis-install-linux.sh
script :
- $TRAVIS_BUILD_DIR/build/travis-run-acceptance-tests-linux.sh
#clique consensus
- if : tag IS blank AND type = pull_request
name : acceptance-tests-clique
os : linux
dist : trusty
git :
submodules : false
cache :
directories :
- $HOME/.m2
env :
- TF_VAR_consensus_mechanism=clique
install :
- $TRAVIS_BUILD_DIR/build/travis-install-linux.sh
script :
- $TRAVIS_BUILD_DIR/build/travis-run-acceptance-tests-linux.sh
2019-01-23 12:10:09 -08:00
- if : tag IS blank
os : linux
dist : xenial
2017-10-31 15:24:11 -07:00
script :
2019-05-20 11:44:00 -07:00
- |
sudo modprobe fuse
sudo chmod 666 /dev/fuse
sudo chown root:$USER /etc/fuse.conf
go run build/ci.go install
2019-11-29 07:56:03 -08:00
QUORUM_IGNORE_TEST_PACKAGES=github.com/ethereum/go-ethereum/swarm,github.com/ethereum/go-ethereum/cmd/swarm go run build/ci.go test -coverage $TEST_PACKAGES
2019-01-23 12:10:09 -08:00
- if : tag IS blank
os : osx
2017-10-31 15:24:11 -07:00
script :
2019-05-20 11:44:00 -07:00
- |
go run build/ci.go install
2019-11-29 07:56:03 -08:00
QUORUM_IGNORE_TEST_PACKAGES=github.com/ethereum/go-ethereum/swarm,github.com/ethereum/go-ethereum/cmd/swarm go run build/ci.go test -coverage $TEST_PACKAGES
2019-01-23 12:10:09 -08:00
- if : tag IS present
os : linux
dist : xenial
env : OUTPUT_FILE=geth_${TRAVIS_TAG}_linux_amd64.tar.gz
script :
- build/env.sh go run build/ci.go install ./cmd/geth
- sudo mkdir -p /dist
- cd build/bin
- sudo tar cfvz /dist/${OUTPUT_FILE} geth
2019-02-22 13:24:15 -08:00
2019-01-23 12:10:09 -08:00
- if : tag IS present
os : osx
env : OUTPUT_FILE=geth_${TRAVIS_TAG}_darwin_amd64.tar.gz
script :
- build/env.sh go run build/ci.go install ./cmd/geth
- sudo mkdir -p /dist
- cd build/bin
- sudo tar cfvz /dist/${OUTPUT_FILE} geth
before_deploy :
- |
echo "Prepare Bintray descriptor"
export GETH_VERSION=$(cat ${TRAVIS_BUILD_DIR}/VERSION)
export RELEASED_DATE=$(date +'%Y-%m-%d')
sed -e "s/_TRAVIS_TAG_/${TRAVIS_TAG}/g" \
-e "s/_TRAVIS_BUILD_NUMBER_/${TRAVIS_BUILD_NUMBER}/g" \
-e "s/_GETH_VERSION_/${GETH_VERSION}/g" \
-e "s/_RELEASED_DATE_/${RELEASED_DATE}/g" \
-e "s/_TRAVIS_COMMIT_/${TRAVIS_COMMIT}/g" \
-e "s/_TRAVIS_JOB_WEB_URL_/${TRAVIS_JOB_WEB_URL//\//\\/}/g" \
-e "s/_ORGANIZATION_/${BINTRAY_ORGANIZATION}/g" \
${TRAVIS_BUILD_DIR}/.bintray.json > /tmp/bintray.json
after_deploy :
- |
published=""
while [ "$published" == "" ]; do
echo "Sleep 5s to wait until ${OUTPUT_FILE} is published"
sleep 5
result=$(curl -u ${BINTRAY_USER}:${BINTRAY_API_KEY} "https://api.bintray.com/packages/${BINTRAY_ORGANIZATION}/quorum/geth/versions/${TRAVIS_TAG}/files")
echo "$result"
if [[ "$result" == *"${OUTPUT_FILE}"* ]]; then
published="done"
fi
done
- |
echo "Add ${OUTPUT_FILE} to Download List"
curl -u ${BINTRAY_USER}:${BINTRAY_API_KEY} \
-H "Content-type: application/json" \
-X PUT \
--data "{\"list_in_downloads\": true}" \
https://api.bintray.com/file_metadata/${BINTRAY_ORGANIZATION}/quorum/${TRAVIS_TAG}/${OUTPUT_FILE}
deploy :
provider : bintray
file : /tmp/bintray.json
user : ${BINTRAY_USER}
key : ${BINTRAY_API_KEY}
skip_cleanup : true
on :
tags : true