github.com/zjj1991/quorum@v0.0.0-20190524123704-ae4b0a1e1a19/.travis.yml (about) 1 # simplified version of the upstream travis configuration with additional features 2 # 1. Distribute binaries to bintray from Tag 3 # 2. Run quorum-acceptance-tests for Pull Requests 4 5 language: go 6 go_import_path: github.com/ethereum/go-ethereum 7 go: 1.11.x 8 sudo: true 9 branches: 10 only: 11 - /.*/ # everything including tags 12 13 env: 14 global: 15 - BINTRAY_ORGANIZATION=quorumengineering 16 - BINTRAY_USER=quorumbot 17 # Bintray API Key 18 - secure: "QHiPcd3zQoJEsT3VSpxoLVTYwbiYzS8H18EpY7Tk0EqCIfswS2AvRlyRXUxNvCf9ktzpaeXV4b5cPYJ67dwdp5V/O/ARaK5AL6ZjjrTPR1avPnmz/X2VeQEP0aWk1UGMs1nBUj5rzMbIIxlVhpbiITTLAI4Ao0+xRcBi215mDbv271Z7mACEZfXxjaoJA0/3IkbKz9pu1nC7bTjaaExCDAeLp2p8fHi2YQPnBll/7dkn/m1rnsIY9M3KWNCx6xBmQOr1hulrrB6tZoHwFBoDsVTFJFLckPfrWUZsYUgtfWJMQWc6ntv1gFl0f9x6s5fYEphCU2m1JYjEczlQ03B5ro9EyPGKjO7vQxAaFd5nVd2Xf34ZbssEIyXxlSnP/4Gv1GXl9L9aU1Hth9ckYvT5gYP5t/Nw3CDbKD0HelPBvkf8jZwfdlotzFPS2bOZNdl/rJLWgQrX18a/mC3BH9l4TSRz13tbRfo6YcC3Y/uOvG1n4GxzcVaWojAxn86SkknOczPTf2pk9F3JOcGVSYA2R4kGQAe+ErJH2X5g2sh1D5cCYDjQyl5rzWg6P3eK//HYW+mg2+TQ8k2iQVVSwFwrR0Yn4P+5cRDCW9mjtktgq1rTtslj41gSH49Avqr9oXGM2rqdcJPdN8dnmLMrAtmeSUNMMoexiRMmlF2OQKLrW3k=" 19 20 matrix: 21 include: 22 #raft consensus 23 - if: tag IS blank AND type = pull_request 24 name: acceptance-tests-raft 25 os: linux 26 dist: trusty 27 git: 28 submodules: false 29 cache: 30 directories: 31 - $HOME/.m2 32 env: 33 - TF_VAR_consensus_mechanism=raft 34 install: 35 - $TRAVIS_BUILD_DIR/build/travis-install-linux.sh 36 script: 37 - $TRAVIS_BUILD_DIR/build/travis-run-acceptance-tests-linux.sh 38 39 #istanbul consensus 40 - if: tag IS blank AND type = pull_request 41 name: acceptance-tests-istanbul 42 os: linux 43 dist: trusty 44 git: 45 submodules: false 46 cache: 47 directories: 48 - $HOME/.m2 49 env: 50 - TF_VAR_consensus_mechanism=istanbul 51 install: 52 - $TRAVIS_BUILD_DIR/build/travis-install-linux.sh 53 script: 54 - $TRAVIS_BUILD_DIR/build/travis-run-acceptance-tests-linux.sh 55 56 #clique consensus 57 - if: tag IS blank AND type = pull_request 58 name: acceptance-tests-clique 59 os: linux 60 dist: trusty 61 git: 62 submodules: false 63 cache: 64 directories: 65 - $HOME/.m2 66 env: 67 - TF_VAR_consensus_mechanism=clique 68 install: 69 - $TRAVIS_BUILD_DIR/build/travis-install-linux.sh 70 script: 71 - $TRAVIS_BUILD_DIR/build/travis-run-acceptance-tests-linux.sh 72 73 - if: tag IS blank 74 os: linux 75 dist: xenial 76 script: 77 - sudo modprobe fuse 78 - sudo chmod 666 /dev/fuse 79 - sudo chown root:$USER /etc/fuse.conf 80 - go run build/ci.go install 81 - go run build/ci.go test -coverage $TEST_PACKAGES 82 - if: tag IS blank 83 os: osx 84 osx_image: xcode9.2 # so we don't have to deal with Kernel Extension Consent UI which is never possible in CI 85 script: 86 - brew update 87 - brew install caskroom/cask/brew-cask 88 - brew cask install osxfuse 89 - go run build/ci.go install 90 - go run build/ci.go test -coverage $TEST_PACKAGES 91 92 - if: tag IS present 93 os: linux 94 dist: xenial 95 env: OUTPUT_FILE=geth_${TRAVIS_TAG}_linux_amd64.tar.gz 96 script: 97 - build/env.sh go run build/ci.go install ./cmd/geth 98 - sudo mkdir -p /dist 99 - cd build/bin 100 - sudo tar cfvz /dist/${OUTPUT_FILE} geth 101 102 - if: tag IS present 103 os: osx 104 osx_image: xcode9.2 105 env: OUTPUT_FILE=geth_${TRAVIS_TAG}_darwin_amd64.tar.gz 106 script: 107 - build/env.sh go run build/ci.go install ./cmd/geth 108 - sudo mkdir -p /dist 109 - cd build/bin 110 - sudo tar cfvz /dist/${OUTPUT_FILE} geth 111 112 before_deploy: 113 - | 114 echo "Prepare Bintray descriptor" 115 export GETH_VERSION=$(cat ${TRAVIS_BUILD_DIR}/VERSION) 116 export RELEASED_DATE=$(date +'%Y-%m-%d') 117 sed -e "s/_TRAVIS_TAG_/${TRAVIS_TAG}/g" \ 118 -e "s/_TRAVIS_BUILD_NUMBER_/${TRAVIS_BUILD_NUMBER}/g" \ 119 -e "s/_GETH_VERSION_/${GETH_VERSION}/g" \ 120 -e "s/_RELEASED_DATE_/${RELEASED_DATE}/g" \ 121 -e "s/_TRAVIS_COMMIT_/${TRAVIS_COMMIT}/g" \ 122 -e "s/_TRAVIS_JOB_WEB_URL_/${TRAVIS_JOB_WEB_URL//\//\\/}/g" \ 123 -e "s/_ORGANIZATION_/${BINTRAY_ORGANIZATION}/g" \ 124 ${TRAVIS_BUILD_DIR}/.bintray.json > /tmp/bintray.json 125 after_deploy: 126 - | 127 published="" 128 while [ "$published" == "" ]; do 129 echo "Sleep 5s to wait until ${OUTPUT_FILE} is published" 130 sleep 5 131 result=$(curl -u ${BINTRAY_USER}:${BINTRAY_API_KEY} "https://api.bintray.com/packages/${BINTRAY_ORGANIZATION}/quorum/geth/versions/${TRAVIS_TAG}/files") 132 echo "$result" 133 if [[ "$result" == *"${OUTPUT_FILE}"* ]]; then 134 published="done" 135 fi 136 done 137 - | 138 echo "Add ${OUTPUT_FILE} to Download List" 139 curl -u ${BINTRAY_USER}:${BINTRAY_API_KEY} \ 140 -H "Content-type: application/json" \ 141 -X PUT \ 142 --data "{\"list_in_downloads\": true}" \ 143 https://api.bintray.com/file_metadata/${BINTRAY_ORGANIZATION}/quorum/${TRAVIS_TAG}/${OUTPUT_FILE} 144 deploy: 145 provider: bintray 146 file: /tmp/bintray.json 147 user: ${BINTRAY_USER} 148 key: ${BINTRAY_API_KEY} 149 skip_cleanup: true 150 on: 151 tags: true