forked from StreamUnion/StreamNet
-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
.travis.yml
140 lines (130 loc) · 6.63 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
language: java
jdk:
#- oraclejdk8
- openjdk8
#- oraclejdk9
cache:
apt: true
directories:
- $HOME/.m2
sudo: required
addons:
apt:
packages:
- jq
- nginx
install:
# install python env
- sudo apt-get install software-properties-common
- sudo apt-add-repository universe
- sudo add-apt-repository restricted
- sudo add-apt-repository multiverse
- sudo apt-get update
- sudo apt-get install python-pip
- sudo apt-get install python-dev
- sudo pip install ipfsapi==0.4.4
- sudo pip install flask==1.1.1
- sudo pip install -U pyOpenSSL==19.1.0
- sudo pip install pyota==2.1.0
- sudo pip install docker==4.2.0
- sudo pip install mock
- sudo pip install cryptography==2.8
- sudo pip install sh==1.12.14
- sudo pip install six==1.14.0 --upgrade
- sudo pip install ecdsa==0.15
- sudo pip install pycrypto==2.6.1
# update go version
- gimme 1.11.5
- source ~/.gimme/envs/go1.11.5.env
# install jmeter
- wget -c https://github.com/triasteam/utils/raw/master/software/apache-jmeter-5.1.1.zip
&& mv apache-jmeter-5.1.1.zip /opt
&& cd /opt
&& unzip apache-jmeter-5.1.1.zip
&& export JMETER_HOME=/opt/apache-jmeter-5.1.1
&& export CLASSPATH=$CLASSPATH:$JMETER_HOME/lib
&& export PATH=$PATH:$JMETER_HOME/bin
&& cd -
before_script:
-
script:
#run tests and integration tests
# see https://stackoverflow.com/questions/34405047/how-do-you-merge-into-another-branch-using-travis-with-git-commands?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
- echo "before printing git account."
- git config user.name
- git config user.email
- echo "after printed git account."
- build_head=$(git rev-parse HEAD)
- git config --replace-all remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
- git fetch origin $TRAVIS_BRANCH
- git checkout -f $TRAVIS_BRANCH
- git checkout $build_head
- git merge $TRAVIS_BRANCH
- mvn integration-test -Dlogging-level=INFO
#run jar sanity tests
- VERSION=$(mvn help:evaluate -Dexpression=project.version | grep -E '^[0-9.]+')
- echo $VERSION
#jacoco prep (appends to mvn run)
- JACOCO_V=$(mvn help:evaluate -Dexpression=jacoco.version | grep -E '^[0-9.]+')
- export _JAVA_OPTIONS="$_JAVA_OPTIONS -javaagent:$HOME/.m2/repository/org/jacoco/org.jacoco.agent/$JACOCO_V/org.jacoco.agent-$JACOCO_V-runtime.jar=destfile=$PWD/target/jacoco.exec,output=file,append=true,dumponexit=true"
- echo $_JAVA_OPTIONS
# get branch
- export objBranch=$TRAVIS_BRANCH
- |
if [ ${TRAVIS_PULL_REQUEST} != false ]; then
export objBranch=${TRAVIS_PULL_REQUEST_BRANCH}
fi
- git clone https://github.com/triasteam/iri-regression-tests.git
- cd iri-regression-tests
# checkout special branch
- exists=$(git show-ref refs/remotes/origin/$objBranch) || true
- |
if [ -n "$exists" ]; then
echo pr will merge $objBranch to master if existed
git checkout $objBranch
if [ ${TRAVIS_PULL_REQUEST} != false ]; then
git checkout master
git merge $objBranch || true
fi
fi
- |
if [ -z "$exists" ]; then
echo push will checkout master
git checkout master
fi
#- git checkout -f master
- mkdir iri
- cp -rf ../target iri/target
- cp -rf ../scripts iri/scripts
- cp /opt/apache-jmeter-5.1.1/lib /opt/apache-jmeter-5.1.1/bin iri/scripts -r
- bash run_all_stable_tests.sh $VERSION
- cd ..
#jacoco append to report
- mvn jacoco:report
- cd scripts/iota_cache/
- python iota_cache_test.py
after_success:
#codacy-coverage send report. Uses Travis Env variable (CODACY_PROJECT_TOKEN)
- test $TRAVIS_PULL_REQUEST = "false" && test $TRAVIS_JDK_VERSION = "oraclejdk8" && wget -O codacy-coverage-reporter-assembly-latest.jar $(curl https://api.github.com/repos/codacy/codacy-coverage-reporter/releases/latest | jq -r '.assets[0].browser_download_url')
- test $TRAVIS_PULL_REQUEST = "false" && test $TRAVIS_JDK_VERSION = "oraclejdk8" && java -jar codacy-coverage-reporter-assembly-latest.jar report -l Java -r target/site/jacoco/jacoco.xml
after_failure:
- cat /tmp/app.log
- cat ../../iri-regression-tests/iri/node1/iri.log
deploy:
- provider: releases
api_key:
secure: "j+KolvRrsinh6OTqjli1y5I4gdPdD5MT6RFahVRrznxtcb2t7y6x41PknkI/8BksxLJKKQ1f40L307Aquzih9FmLesWcrYrCOS/B40dlCc3uV8DEZKhZF+QWqvsDpZ0EfiluGFljqGpxwngb/miNObqQzQvzpdUXBpZcuzxgqziynJD6jt3TYbNn544m/i4cWbb++b1h2Bm+jwELzJcf6/CZ1TxUh49vdM4S6yTpvnKwg4NLeH6g8s9oYEN1iwYtQokGKlH/emBZDsqDtF4KH7kXPpEKTcho4nH504XWJpanVAQ02Pha4SAnyVu4rKiLH4e6v99xZOBLVTH/qkvlwzvkNYr2xS5q9T9G7DZBRE+oc2MIbcnuSkhHwrUcmf2Hc0zCIP4RLCXAUuVlNEmIQUKgTezVzaqaEQLsa+EFIoosS+8pT/kVnaLbwxrITUmgM246+gvzMcVg8SmyPvVj6iRxfR6spTd7V2M0ePdqWlCL8P9RY4YrtxR2yJ6/3C0XNf29t+s/r1jat8fwWp8Gf7GiCaJEYG9VO24Chhi+MZCKBJnmx5G/98zvLw3f6a1FsEGZrw9RhF2vJKK6sD3rIvNkUsYmf0OhM7bf0NceFMGTJ/mFzM/JX0OHMtIyAvUfyyPVbQkIHNcGBgQMZasx07K3fjcn2lqv4FbHVi3HbdM="
file_glob: true
file: target/*.jar*
skip_cleanup: true
before_deploy: openssl aes-256-cbc -K $encrypted_5a15fa813cca_key -iv $encrypted_5a15fa813cca_iv -in codesigning.asc.enc -out codesigning.asc -d && gpg --fast-import codesigning.asc
deploy: mvn package -P build-extras -Dlogging-level=INFO
on:
tags: true
repo: iotaledger/iri
branch:
- master
env:
global:
- secure: oJutGSe5KK3ymwSvohFZ89UL7XaNlXH6fdO2nBEYbk5KyYuQ1Wm+h6+N/05EbwxwDK9dEiF73ZJh76sZ3IWKjRC8VWjUAz+8p38hGvQwByrVsJkrbs5SA4wA4XnyvEqyMV3yqbcgRNbMlIvj7ubUbxMizz7MA7plnumrnx9ejPG1WP4rNgzUA3XcBWHdITyOSg9rSMBJzMZ9CN1Dv+1SxZV+GlkyWN8n1Cshkq2TnNl1oRZqGKs7O0ma1dN0hUKtBa80AsCTjH8ojZFJU92gmkvAWDw5BTSZ8mhX9sZcbBYT8SnQxNDrf51HJ+K7hvdpFbsy5Z0g24cNJkA8lfUnzXFznZ/PH4hm8MeVWjRiWdE4VZr47iYzJcs0brOHSeab6fBoeTPS5899Q3V+yAw6CahfvOBthuF3Ymy+fZXoDO5242PSWXXsGwFqK7r/gT0iwJZxMBI/UUWsP/s7J/CWux8ftwbOdSbs4XdQZsuqxzKEKDDwU0FTytantsMS/vcgI41K5azyY4tbkixzydaBPvhimkflaWcuZb//mXcntitgyenaSwfkLX5pD5l1srVzSliyabnH7AprLOm1B9DBfk2leI2XgGJg/Q/GrVtcjcl1FU0aXBFhLrp3BkK7chlG2v/Eacr8Pb6NOQHORyq64n2prF6zvExX0aadOddefoA=
- secure: HfmR15dSUnVLXtYzqE8Rq6STPunSNWpKTipNim79SZ+KE/pJpRQCpcRpePCzjdGAOfEOo6JyCoT0AeYkES+QU59hoKZPa8TLv+X+8YRW4CSn3mCxibdwfWERwzBeZ9zE//glVu3iIiEyzMo75NZcgL/dTR4oJ9jynl99g6atuWCWzIqDgh7/HbdnTP8vEjsHrQ+mCrPxg3LBGUH89EQdRriLEkNPmNpZG/VKktE/voPSK5JQF0EGAuidXbDHkjA4k6JY9xBgXj/RojYC6w/OrS2V+u4apwGrhyOFH5tKxgImg2UxxNtgOMJPm7nLk5ofahFLnsULptjNnqRqASVviOD7Ho11BYKF/O0lMOx5XmB0NeKfI9zymbXbpqf5TPi7HOudy7LFEz7fL6jmseme81OXL3VC+1vcPqMh534FGqrRMmf9nTIo75pi4bwPUj2HcCMAsQV9QEdkcovydPc8qYqERXNAMCP7Pl44z9kEf6EsJ6RgBfb+wBTf1lLTy5ZUG8r894m+5lQC95FdQOKTsOVUqR/W8DVIrYXcYHLIBxfnG0NR2yqjh9aiTCyvN/QQmJUYAWiyJ0yeZf6ez1rS6Qiyik9Uc/8dn0jVqL5pL3lj+MuUPQL4ES/wJeHgioLxB5oQX2fgIL+2XQ/EWaMKGPe2IuEdmS+wXsTRr1FCouE=