forked from BananoCoin/banano
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
201 lines (196 loc) · 8.11 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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
language: cpp
stages:
- build_base
- build_env
- master_beta_docker
- tag_test
- test
- artifacts_beta
- artifacts_live
jobs:
include:
- stage: build_base
name: "base"
if: branch=master AND type=push
script:
- if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi;
- stage: build_env
name: "clang"
if: branch=master AND type=push
script:
- if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi;
- name: "gcc"
if: branch=master AND type=push
script:
- if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi;
- stage: master_beta_docker
name: "beta docker master tag"
if: tag =~RC|DB
script:
- if [ -n "$DOCKER_PASSWORD" ]; then TRAVIS_TAG="${TRAVIS_TAG}" ci/deploy-docker.sh; fi;
- stage: tag_test
name: "gcc"
if: tag is present
os: linux
compiler: gcc
env:
- RELEASE=1
before_install:
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
- ci/build-docker-image.sh docker/ci/Dockerfile-gcc nanocurrency/nano-env:gcc;
- name: "clang"
if: tag is present
os: linux
compiler: clang
env:
- RELEASE=1
before_install:
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
- ci/build-docker-image.sh docker/ci/Dockerfile-clang nanocurrency/nano-env:clang;
- name: "osx clang"
if: tag is present
os: osx
compiler: clang
env:
- RELEASE=1
before_install:
- brew update;
- brew cask install xquartz;
- brew upgrade cmake;
- brew install rocksdb;
- util/build_prep/fetch_boost.sh
- util/build_prep/macosx/build_qt.sh
install:
- brew install ccache;
- export PATH="/usr/local/opt/ccache/libexec:$PATH";
- stage: test
name: "GCC + ONE_TIME_TESTS"
os: linux
compiler: gcc
dist: trusty
sudo: required
env:
- ONE_TIME_TESTS=true
addons:
apt:
packages:
- doxygen
before_install:
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
- ci/build-docker-image.sh docker/ci/Dockerfile-gcc nanocurrency/nano-env:gcc;
- name: "clang"
os: linux
compiler: clang
dist: trusty
sudo: required
before_install:
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
- ci/build-docker-image.sh docker/ci/Dockerfile-clang nanocurrency/nano-env:clang;
- name: "osx"
os: osx
compiler: clang
before_install:
- brew update;
- brew cask install xquartz;
- brew upgrade cmake;
- brew install rocksdb;
- util/build_prep/fetch_boost.sh
- util/build_prep/macosx/build_qt.sh
install:
- brew install ccache;
- export PATH="/usr/local/opt/ccache/libexec:$PATH";
- stage: artifacts_live
name: "live docker"
if: tag IS present AND !tag=~RC|DB
script:
if [ -n "$DOCKER_PASSWORD" ]; then TRAVIS_TAG="${TRAVIS_TAG}" ci/deploy-docker.sh; fi;
- name: "live linux"
os: linux
compiler: gcc
dist: trusty
if: tag IS present AND !tag=~RC|DB
before_install:
- sudo apt-get update -y && sudo apt-get install -y python-pip
- pip install --user awscli
- aws --version
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
- ci/build-docker-image.sh docker/ci/Dockerfile-gcc nanocurrency/nano-env:gcc;
script:
- docker run -v $TRAVIS_BUILD_DIR:/workspace -v $HOME/.ccache:/ccache nanocurrency/nano-env:$TRAVIS_COMPILER /bin/bash -c "apt install ccache; cd /workspace && TRAVIS_TAG=${TRAVIS_TAG} CCACHE_DIR=/ccache ci/build-deploy.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}";
- ci/deploy-travis.sh;
- name: "live osx"
os: osx
compiler: clang
before_install:
- brew update;
- brew cask install xquartz;
- brew upgrade cmake;
- util/build_prep/fetch_rocksdb.sh
- util/build_prep/fetch_boost.sh
- util/build_prep/macosx/build_qt.sh
install:
- pip install --user awscli
- brew install ccache;
- export PATH="$HOME/Library/Python/2.7/bin:/usr/local/opt/ccache/libexec:$PATH";
- aws --version
script:
- ci/build-deploy.sh "/tmp/qt/lib/cmake/Qt5";
- if [[ -n "$TRAVIS_TAG" ]]; then if [[ ! "${TRAVIS_TAG-0}" =~ ("RC"|"DB") ]]; then ci/deploy-travis.sh; fi; fi;
- stage: artifacts_beta
name: "beta docker"
if: tag =~RC|DB
script:
- if [ -n "$DOCKER_PASSWORD" ]; then TRAVIS_TAG="${TRAVIS_TAG}" ci/deploy-docker.sh; fi;
- name: "beta linux"
os: linux
env:
- BETA=1
compiler: gcc
dist: trusty
if: tag =~RC|DB
before_install:
- sudo apt-get update -y && sudo apt-get install -y python-pip
- pip install --user awscli
- aws --version
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
- ci/build-docker-image.sh docker/ci/Dockerfile-gcc nanocurrency/nano-env:gcc;
script:
- docker run -v $TRAVIS_BUILD_DIR:/workspace -v $HOME/.ccache:/ccache nanocurrency/nano-env:$TRAVIS_COMPILER /bin/bash -c "apt install ccache; cd /workspace && TRAVIS_TAG=${TRAVIS_TAG} BETA=1 CCACHE_DIR=/ccache ci/build-deploy.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}"
- ci/deploy-travis.sh;
- name: "beta osx"
os: osx
compiler: clang
env:
- BETA=1
if: tag =~RC|DB
before_install:
- brew update;
- brew cask install xquartz;
- brew upgrade cmake;
- util/build_prep/fetch_rocksdb.sh
- util/build_prep/fetch_boost.sh
- util/build_prep/macosx/build_qt.sh
install:
- pip install --user awscli
- brew install ccache;
- export PATH="$HOME/Library/Python/2.7/bin:/usr/local/opt/ccache/libexec:$PATH";
- aws --version
script:
- ci/build-deploy.sh "/tmp/qt/lib/cmake/Qt5";
- ci/deploy-travis.sh;
cache:
- ccache: true
- directories:
- $HOME/.local
- $HOME/Library/Caches/Homebrew
- $TRAVIS_BUILD_DIR/load-tester/target
script:
- if [ -n "$ONE_TIME_TESTS" ]; then ci/check-commit-format.sh; fi
- if [ -n "$ONE_TIME_TESTS" ]; then doxygen doxygen.config; fi # TODO also deploy the built HTML
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then RELEASE=${RELEASE} ci/build-travis.sh "/tmp/qt/lib/cmake/Qt5"; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then docker run -v $TRAVIS_BUILD_DIR:/workspace -v $HOME/.ccache:/ccache nanocurrency/nano-env:$TRAVIS_COMPILER /bin/bash -c "apt install ccache; cd /workspace && RELEASE=${RELEASE} ASAN=${ASAN} TSAN=${TSAN} CCACHE_DIR=/ccache ./ci/build-travis.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}"; fi
env:
global:
- secure: "k8kmpD+xRS57ukdvlvaXT0WN4H0rr/aHSjV+l5IUUFpKx5N+DEsb+7ElIepKzqQrGG6qE71cFwDyn6rDwW/Objb9aiEITnvJBzk1XrOVgbc5AnlqDm8LKvqToD/VnQiojyXhBQe2wa//nEZ3PC9dv7hE5zb/K/U5z+LaE9T1cPPk1jHQMCUAFT7QGCK0YeX/gAZqPbLZdHHQChEi+Gu/XY0gc5Bl8Idbp8W7Aky9Ps06lKXPORkE1G2xQfJFrNPB3CKjxev/eoXGBJmNYzxkJlUHmyenjwgdDh9TWiOK2uKH1K6olLIx/qFuIgFRVJFv0QFzCjqqjOJJF1EN9i1M21Lm4wi1iJxYShAP86ZKkC/WmtRn1xNTEMHZJeZ3TXX+B3ybLEWTamHS1Ia8HOif18nrQE3O0aRC/NNfH1kewX+94UNxmSfHtL5Waa41shxeG5waemyQg+HR5zCEtrb5l1btgbfGrR8BMbHYLLe4ywJqMx3n8Iy6ZzC6Xx8+X1zTZZ3zDYPBHUalA+ZoYu2rrFG2+SARP0W/VKqCIKaB+lQKYpbv7ojXGrrDJe7MA/raTLL2pTfSkcx0qxJvcsbPLGI1MdG3mD7M8HncrZbw+sKI1LZ04gyWt3til6d3vSlbIkd6kCxxZh69nd1/KJy8rYrMYjqxxNSTctkGyVb2DtY="
- RELEASE=0
- AWS_BUCKET=repo.nano.org