2
2
3
3
language : go
4
4
go_import_path : github.com/ethereum/go-ethereum
5
- sudo : false
5
+ go : 1.9.x
6
+ sudo : true
7
+ branches :
8
+ only :
9
+ - /.*/ # everything including tags
10
+ env :
11
+ global :
12
+ - BINTRAY_ORGANIZATION=quorumengineering
13
+ - BINTRAY_USER=quorumbot
14
+ # Bintray API Key
15
+ - secure : " QHiPcd3zQoJEsT3VSpxoLVTYwbiYzS8H18EpY7Tk0EqCIfswS2AvRlyRXUxNvCf9ktzpaeXV4b5cPYJ67dwdp5V/O/ARaK5AL6ZjjrTPR1avPnmz/X2VeQEP0aWk1UGMs1nBUj5rzMbIIxlVhpbiITTLAI4Ao0+xRcBi215mDbv271Z7mACEZfXxjaoJA0/3IkbKz9pu1nC7bTjaaExCDAeLp2p8fHi2YQPnBll/7dkn/m1rnsIY9M3KWNCx6xBmQOr1hulrrB6tZoHwFBoDsVTFJFLckPfrWUZsYUgtfWJMQWc6ntv1gFl0f9x6s5fYEphCU2m1JYjEczlQ03B5ro9EyPGKjO7vQxAaFd5nVd2Xf34ZbssEIyXxlSnP/4Gv1GXl9L9aU1Hth9ckYvT5gYP5t/Nw3CDbKD0HelPBvkf8jZwfdlotzFPS2bOZNdl/rJLWgQrX18a/mC3BH9l4TSRz13tbRfo6YcC3Y/uOvG1n4GxzcVaWojAxn86SkknOczPTf2pk9F3JOcGVSYA2R4kGQAe+ErJH2X5g2sh1D5cCYDjQyl5rzWg6P3eK//HYW+mg2+TQ8k2iQVVSwFwrR0Yn4P+5cRDCW9mjtktgq1rTtslj41gSH49Avqr9oXGM2rqdcJPdN8dnmLMrAtmeSUNMMoexiRMmlF2OQKLrW3k="
6
16
matrix :
7
17
include :
8
- - os : linux
9
- dist : trusty
10
- sudo : required
11
- go : 1.9.x
18
+ - if : tag IS blank
19
+ os : linux
20
+ dist : xenial
12
21
script :
13
22
- sudo modprobe fuse
14
23
- sudo chmod 666 /dev/fuse
15
24
- sudo chown root:$USER /etc/fuse.conf
16
25
- go run build/ci.go install
17
26
- go run build/ci.go test -coverage $TEST_PACKAGES
18
-
19
- - os : osx
27
+ - if : tag IS blank
28
+ os : osx
20
29
osx_image : xcode9.2 # so we don't have to deal with Kernel Extension Consent UI which is never possible in CI
21
- go : 1.9.x
22
- sudo : required
23
30
script :
24
31
- brew update
25
32
- brew install caskroom/cask/brew-cask
26
33
- brew cask install osxfuse
27
34
- go run build/ci.go install
28
35
- go run build/ci.go test -coverage $TEST_PACKAGES
36
+
37
+ - if : tag IS present
38
+ os : linux
39
+ dist : xenial
40
+ env : OUTPUT_FILE=geth_${TRAVIS_TAG}_linux_amd64.tar.gz
41
+ script :
42
+ - build/env.sh go run build/ci.go install ./cmd/geth
43
+ - sudo mkdir -p /dist
44
+ - cd build/bin
45
+ - sudo tar cfvz /dist/${OUTPUT_FILE} geth
46
+ - if : tag IS present
47
+ os : osx
48
+ osx_image : xcode9.2
49
+ env : OUTPUT_FILE=geth_${TRAVIS_TAG}_darwin_amd64.tar.gz
50
+ script :
51
+ - build/env.sh go run build/ci.go install ./cmd/geth
52
+ - sudo mkdir -p /dist
53
+ - cd build/bin
54
+ - sudo tar cfvz /dist/${OUTPUT_FILE} geth
55
+
56
+ before_deploy :
57
+ - |
58
+ echo "Prepare Bintray descriptor"
59
+ export GETH_VERSION=$(cat ${TRAVIS_BUILD_DIR}/VERSION)
60
+ export RELEASED_DATE=$(date +'%Y-%m-%d')
61
+ sed -e "s/_TRAVIS_TAG_/${TRAVIS_TAG}/g" \
62
+ -e "s/_TRAVIS_BUILD_NUMBER_/${TRAVIS_BUILD_NUMBER}/g" \
63
+ -e "s/_GETH_VERSION_/${GETH_VERSION}/g" \
64
+ -e "s/_RELEASED_DATE_/${RELEASED_DATE}/g" \
65
+ -e "s/_TRAVIS_COMMIT_/${TRAVIS_COMMIT}/g" \
66
+ -e "s/_TRAVIS_JOB_WEB_URL_/${TRAVIS_JOB_WEB_URL//\//\\/}/g" \
67
+ -e "s/_ORGANIZATION_/${BINTRAY_ORGANIZATION}/g" \
68
+ ${TRAVIS_BUILD_DIR}/.bintray.json > /tmp/bintray.json
69
+ after_deploy :
70
+ - |
71
+ published=""
72
+ while [ "$published" == "" ]; do
73
+ echo "Sleep 5s to wait until ${OUTPUT_FILE} is published"
74
+ sleep 5
75
+ result=$(curl -u ${BINTRAY_USER}:${BINTRAY_API_KEY} "https://api.bintray.com/packages/${BINTRAY_ORGANIZATION}/quorum/geth/versions/${TRAVIS_TAG}/files")
76
+ echo "$result"
77
+ if [[ "$result" == *"${OUTPUT_FILE}"* ]]; then
78
+ published="done"
79
+ fi
80
+ done
81
+ - |
82
+ echo "Add ${OUTPUT_FILE} to Download List"
83
+ curl -u ${BINTRAY_USER}:${BINTRAY_API_KEY} \
84
+ -H "Content-type: application/json" \
85
+ -X PUT \
86
+ --data "{\"list_in_downloads\": true}" \
87
+ https://api.bintray.com/file_metadata/${BINTRAY_ORGANIZATION}/quorum/${TRAVIS_TAG}/${OUTPUT_FILE}
88
+ deploy :
89
+ provider : bintray
90
+ file : /tmp/bintray.json
91
+ user : ${BINTRAY_USER}
92
+ key : ${BINTRAY_API_KEY}
93
+ skip_cleanup : true
94
+ on :
95
+ tags : true
0 commit comments