This repository has been archived by the owner on Nov 21, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
.travis.yml
168 lines (158 loc) · 8.96 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
sudo: required
dist: xenial
language: cpp
services:
- docker
env:
global:
- TARGET_NAME=`echo "$TRAVIS_REPO_SLUG" | sed -r 's|(.*/)?(.+)|\2|'`
- PATH=$HOME/.local/bin:$PATH
- secure: "TA0LohspMG0qtIWEIXFIfl2x5t1msfATUdh2162qfGKM5nD/QsxflxBihJHOBxpGAZ65FumQHE/V/EhLpnsHqzSYtU2X7Bffg+2jzgHoDbI3TRfrncPVBe1OxI15wPLsSHOdr3aMhrbmVV0TKU042r/t45p8VSF8K5x7FxMWbClFr1nF5jCT3huc98+hT1AcIMdk2VQzf1eyU8JPpQm/xkclgwiT5CFzSZGfahbydHwbXVv2BqaaPQdE+94XaZ45o1htS98sd2I3GroWG11zQaPxQYWw+fchJiORQEcoeTfO85XXTDKA3qUzAnlLIoa7XXmRmzTWMSk1332st3qBgklZ2YI57ILoobM1m8UxS7y3HehrH2ZvqHwpsJJ1KUU8yLaJ0z0fi1Pu9IQqJv3p30ZyteLvr7jd2AdeexHgHAJhh9bV0diGpO0GiVHFY5N9em6z9K3vco/tUGFYap2MYjzKySpoDQAv0jL5bqAItlDTUSIQdf4o3yo2JSaZ1vArPw8Wd0EzXj3Nn/BC96fSerXo6NE6fLAx6yr5IVyQdcuLKQB+JXtlnF8+3jW3j4APO8tRaq+e4T0ivSwzPy6QwFjy9ytnA3FdoUUPFvuuQn7d0lq55DEHgIv00QZ5nz0ZlPYZJageVxgP2KDgBwAzuHoq66zsYhh73dl1f8tBu7Q="
- secure: "aCX+k3v+pLLZ3dT0TBfLcY4rBnPqT9b8bvu61nVruPPOvcGsUgLaigxKKSmiwCVl6jrR2KSELVfBtnr6wvrgzYzMVkVpvDyp5lnUe1iTkABvRKR0W6Y004svAGHR5J2Eqjc5AbxJXFasgdu7a8SAMsbdl7fL0THdcLoL435LMMYt3pMg/m+0Q28Uj+KB+lK1daAtkzopY5c4+Ct6RU1tEtoHD2HiNUYPnToMF0+WJSwSMzCKsDY027iSbE5WORzywKcADjBJxWej5tunShMtHWdNxB8fyKHuDCYstkybm40/Jr7aLWPVvtCMW4kNcI8j/Kj2KBiWo0wdtn/b5JqaUaEZjz5xAGP6TCE9cOjnbTmz+/SVXEHRgMdQgM/F6lhof2ExJVkgXJV4oMVtbRnbPfZ7ooNJCppdbZMlm4w1Nv0bG6OjJmUsfWRM0/h2+t6sR7dzUmFZpn69T2oI14n2GOWcJb9PugI4BQ0gUZsTr+ibiggg1d2cvvhSEwgGOLkHHS4oC/Ub9dJFQ6uSgTVHPFPzu7K2yicw13+hIfLos8nz/vkZvDDOX6YIcXlQ1/72F+RDnC9R3YO89lhk1KOxZ9ho1zuf1+MdGvtEm12b0S0L64dLgqmSCip6NNL0BC+OfhlhEHbysgGJLe4bND9ZYABf5cTuQPtmFN5U4QrQ1p0="
- secure: "TD6RHp3BTx1bHkyv0GMbH7n7q6OX2VS5SBQQzhiv3l6zI1jQOj4SX1bDL5Ahllwv85wGj+XLUR6+MvyY033BzKwWWOxrmmQaFyVjVy7FGEidlk0aZWvZsKR4QPLAlV82XeKhflaOMaWmVZJ2h1pzjfh5OQTuu53v8Kks7C5XzCjQyiVr79Y/mLqGuXGs5W2I4AIMFJB9fP+0yK6TjsmHlOIS6Dtn8pa2fXvVgZ2OAL4r1O65jlkZ6sxO5I/OIns5H+40hJc44fLS9tKwCKuDG44BTEbwZuyP/D+RZxxAWIkX1eaI/l5o4R4bCjMQD+FJclmiUWnTxoPkAnWaMHFKI0pjZBqAjZSi5ZBJmEgObV5fWCGzaySkcJcedLff30j9qY8mTrcMSm5rV83Z4+CpuLvN6JeRU13legegVFXGhvbEap3WDTMNgT0QRMepVejqUrVHhNunb2wmkzHO8C7Fiu2faR6UIVVzWmuv1yM6gf80fMezBNfPtwanfecORlAvUa2Gn00pGmkk10qBjyuv3xWmfbABa5UCkYNIpSmIr8w9J1z7mmVNDTD6uqk8ht2ljIgWpxFnnNsol00H4g623YLx9dhS5a4jeI30pElEED2MGezti6rrQbpg1NEi0L+iu7IjtZ//wwNgYL/+ESCOgagsrIyi6de7yGr48aIm5Po="
cache:
directories:
- $HOME/builder_ccache
- $HOME/full_build
- $HOME/proof-bin
before_install: export -f travis_fold && export -f travis_time_start && export -f travis_time_finish && export -f travis_nanoseconds
script: echo "Nothing to do"
jobs:
include:
- &proof-boot
stage: Proof boot
name: Linux proofboot downloading
if: type != pull_request AND tag IS blank AND branch != master
before_script: pip install --user awscli
script:
- aws s3 cp s3://proof.travis.builds/$TRAVIS_BRANCH/raw-bin/proofboot-bin-debian9.tar.gz $HOME/proof-bin.tar.gz ||
aws s3 cp s3://proof.travis.builds/develop/raw-bin/proofboot-bin-debian9.tar.gz $HOME/proof-bin.tar.gz || travis_terminate 1
- cd $HOME && sudo rm -rf proof-bin && tar -xzf proof-bin.tar.gz
- <<: *proof-boot
stage: Proof boot
name: Linux proofboot downloading for API compatibility check
if: type != pull_request AND tag IS blank AND branch != master
env: DUMMY=abi
before_script: pip install --user awscli
script:
- aws s3 cp s3://proof.travis.builds/$TRAVIS_BRANCH/raw-bin/proofboot-bin-debian9.tar.gz $HOME/proof-bin.tar.gz ||
aws s3 cp s3://proof.travis.builds/develop/raw-bin/proofboot-bin-debian9.tar.gz $HOME/proof-bin.tar.gz || travis_terminate 1
- cd $HOME && sudo rm -rf proof-bin && tar -xzf proof-bin.tar.gz
- <<: *proof-boot
stage: Proof boot
name: Linux proofboot downloading for code coverage check
if: type != pull_request AND tag IS blank AND branch != master
env: DUMMY=codecov
before_script: pip install --user awscli
script:
- aws s3 cp s3://proof.travis.builds/$TRAVIS_BRANCH/raw-bin/proofboot-bin-debian9.tar.gz $HOME/proof-bin.tar.gz ||
aws s3 cp s3://proof.travis.builds/develop/raw-bin/proofboot-bin-debian9.tar.gz $HOME/proof-bin.tar.gz || travis_terminate 1
- cd $HOME && sudo rm -rf proof-bin && tar -xzf proof-bin.tar.gz
- <<: *proof-boot
name: Android proofboot downloading
if: type != pull_request AND tag IS blank AND branch != master
dist: trusty
language: android
android:
components:
- build-tools-25.0.2
env: DUMMY=android
before_script: pip install --user awscli
script:
- aws s3 cp s3://proof.travis.builds/$TRAVIS_BRANCH/raw-bin/proofboot-bin-android.tar.gz $HOME/proof-bin.tar.gz ||
aws s3 cp s3://proof.travis.builds/develop/raw-bin/proofboot-bin-android.tar.gz $HOME/proof-bin.tar.gz || travis_terminate 1
- cd $HOME && sudo rm -rf proof-bin && tar -xzf proof-bin.tar.gz
- &pre-compile
stage: Proof dependencies
name: Linux proof modules downloading
if: type != pull_request AND tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/proof-modules/pre-compile/raw-bin_download.sh debian9
- <<: *pre-compile
name: Linux proof modules downloading for API compatibility check
if: type != pull_request AND tag IS blank AND branch != master
env: DUMMY=abi
script: $HOME/proof-bin/dev-tools/travis/proof-modules/pre-compile/raw-bin_download.sh debian9
- <<: *pre-compile
name: Linux proof modules downloading for code coverage check
if: type != pull_request AND tag IS blank AND branch != master
env: DUMMY=codecov
script: $HOME/proof-bin/dev-tools/travis/proof-modules/pre-compile/raw-bin_download.sh debian9
- <<: *pre-compile
name: Android proof modules downloading
dist: trusty
language: android
android:
components:
- build-tools-25.0.2
env: DUMMY=android
if: type != pull_request AND tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/proof-modules/pre-compile/raw-bin_download.sh android
- &compile
stage: compilation and static checks
name: Compilation (Debian9/clang/ccache)
if: tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/proof-modules/compile/linux_compile.sh
- <<: *compile
name: Code style check with clang-format
script: $HOME/proof-bin/dev-tools/travis/proof-modules/compile/clang-format_check.sh
- <<: *compile
name: Static code analysis with clazy
script: $HOME/proof-bin/dev-tools/travis/proof-modules/compile/clazy_check.sh
- <<: *compile
name: Clang-Tidy (clang-analyzer)
script: $HOME/proof-bin/dev-tools/travis/proof-modules/compile/clang-tidy_check.sh clang_analyzer
- <<: *compile
name: Clang-Tidy (bugprone, cert, cppcoreguidelines, performance)
script: $HOME/proof-bin/dev-tools/travis/proof-modules/compile/clang-tidy_check.sh core
- <<: *compile
name: Clang-Tidy (google, hicpp, llvm, misc, modernize, readability)
script: $HOME/proof-bin/dev-tools/travis/proof-modules/compile/clang-tidy_check.sh misc
- <<: *compile
name: API compatibility check
env: DUMMY=abi
if: tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/proof-modules/compile/abi_check.sh
- <<: *compile
name: Code coverage check
env: DUMMY=codecov
if: tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/proof-modules/compile/codecov_check.sh
- <<: *compile
name: Compilation (Android28/clang/ccache)
dist: trusty
language: android
android:
components:
- tools
- platform-tools
- tools
- build-tools-28.0.3
- android-28
env: DUMMY=android
if: tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/proof-modules/compile/android_compile.sh
- &unit-tests
stage: unit tests
name: tests/ProofNetworkJdf
if: tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/proof-modules/unit-tests/run_tests.sh network-jdf
- &post-compile
stage: Post compilation
name: Raw linux binary upload to S3
if: type != pull_request AND tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/proof-modules/post-compile/raw-bin_upload.sh debian9
- <<: *post-compile
name: Raw android binary upload to S3
dist: trusty
language: android
android:
components:
- build-tools-25.0.2
env: DUMMY=android
if: type != pull_request AND tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/proof-modules/post-compile/raw-bin_upload.sh android
- &ping-dependants
stage: Dependants builds
name: Build request for all modules based on current one
if: type != pull_request AND tag IS blank AND branch != master
script: $HOME/proof-bin/dev-tools/travis/ping_dependants.sh