-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy path.travis.yml
150 lines (139 loc) · 6.39 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
language: java
dist: xenial
# Build only the following branches/tags pushed to the repository:
branches:
only:
- master
# Also build tagged revisions, e.g. v1.2.3-beta
- /^v\d+\.\d+(\.\d+)?(-\S*)?$/
# … and release branches, e.g. jlc/v0.2.0-release
- /^.+-release$/
- core-1.0
addons:
sonarcloud:
organization: "exonum"
token:
secure: "PDViuHB/dEJcYqUoC8C42Umo44N9OGhuq0Z1tYTtrlwatDFviC1a4Wp6J2lQflwZSJZSUIuYCk/nJ5XR/9pqSrnoLXIBrjfLs62/KZDLPjO3b+SOxRNsN015KTl1+i/s80T/AOTMstlCaimPzigTf/AeS7059V3vY7nIz5O1rBwZfiqnFgTmrHivXbvsLFM6m8PpARp6lNZ1O/E6/3BUrfdi2GKJuugQP+z6jQSZ1oMJToHSMrvHR6RuA1fdsDiRFR6x6W7R4dsh1IjCZf5Hdohsc5Z5U27ECnbOX+A/+z8wpT3gfzjPWXaBGX+4GXYGA1h4GnbRU9nCBZ3vSwEyIjNxpzdwWfoYCVde+FdK/6Hmjwv5EVOAiXFcnEnjEaVEz3KDtdBPDtoa3tEQHdIvGm9FqcKbpzAS7W5eTGLZkyzFuoy9mqGkh7zWWr/9zfzLelzi5Ed+lTL4uq2UEIsNVbwfOITWsJMzoOmgdbRHpP/rQjiUewoG48OJJuxggqtMJ1f+ScPh6H1ell01G6WhLQ5RQY2ZxTvHZSHSJVbwEBqElkFUCSqs3oMMktwkIxuEYNtj2lr+nivm2VBI5Qi4OthrZjsICffU+OXS+GCEaZcgEdhxHJacadc+FvDBqxHhncCh2dDc1Qjmw1ac116MFtUvgepsHsVhOFF18X3pr7Y="
apt:
sources:
- sourceline: 'ppa:fsgmhoward/shadowsocks-libev'
- sourceline: 'ppa:maarten-fonville/protobuf'
- sourceline: 'ppa:exonum/rocksdb'
- sourceline: 'ppa:deadsnakes/ppa'
packages:
- build-essential
- libsodium-dev
- librocksdb6.2
- libssl-dev
- pkg-config
- protobuf-compiler
- libprotobuf-dev
- python3.7
homebrew:
update: true # remove when fixed: https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296
packages:
- libsodium
- rocksdb
- pkg-config
- protobuf
env:
global:
- RUST_COMPILER_VERSION=1.45.2
- ROCKSDB_LIB_DIR=/usr/lib
- ROCKSDB_STATIC=1
# REPO_TOKEN used for integration with coveralls is encoded here
- secure: Fp22iaJpttsIArAyWmdCGNtljIALTYRVKO7O+H2hgBkwHHqrU7+15sbaq3xzhz4YNWNfuFMIkFUBgd/KYHgAuNDDrtm2agib13C0lQT1NFQO9ccmNCJNsXQrYrXGwpnNqPKp0YmfBfgNwzEpBerlbtvzV/T/RZukT/403XxwxU9y5tHfQokwVLibqP2jJsxdihTfCKIOs+o6hBfArmsn+e+panEv17ZrCjOmBIM/W70Rf2rEM26wFnYsfnAUTCkpl4Ong0SYNpZZxNMtw61W8ApDY8bpz7cKUxCv7SmD3kO7Y+TTHWfWYx6FNXtUpE1vCi6I7fZAY16rViTWOX55NCeFQz56XER7ArJQZtC/nC1lZ9tGKtcofu2Rq7WUoRuTwvLTaf6VzAP/CUj0DUxkV+8WUggl3s/Im7Y9rn8Aqvh8LReZmqzTY+dJ0hFG4DLoLtl71eTEnNoumi5UleBhJPaei3wPNPHg1WlOmhFyhRCsbIIGiyFtSj/faLmdc7tN/sBFANb0g4Exl0mRNvB0IfS1gM6XouEGUTlVree68p11PnsGJGs/QaUB9F9AAGVKTZ2kz7sqkCDdGmLxzbdidYDHZtYWfOIYSJCQsA09n2Txi0fwNByKfl/spdyMmtI1uGeT803rhN9vu0NGrQFG3mU7mqO33fUDEStIQ6/xn0A=
jobs:
include:
- name: "Linux / JDK 14 / CHECK_RUST=true"
os: linux
jdk: openjdk14
env: CHECK_RUST=true
- name: "Linux / JDK 14 / CHECK_RUST=false"
os: linux
jdk: openjdk14
env: CHECK_RUST=false
- name: "OSX / JDK 14 / CHECK_RUST=false"
os: osx
# See: https://docs.travis-ci.com/user/reference/osx#macos-version
osx_image: xcode11.3
env:
- CHECK_RUST=false
- ROCKSDB_LIB_DIR=/usr/local/lib
- SNAPPY_LIB_DIR=/usr/local/lib
- SNAPPY_STATIC=1
- name: "Python unit tests"
before_install: true
script:
- cd "${TRAVIS_BUILD_DIR}"
- .travis/run_python_tests.sh
# The following jobs run using Travis cron jobs feature.
# The minimum supported Java version (11)
- name: "Linux / JDK 11 / CHECK_RUST=false"
if: type=cron
os: linux
jdk: openjdk11
env: CHECK_RUST=false
# Early-access Java version.
- name: "Linux / JDK EA / CHECK_RUST=false"
if: type=cron
os: linux
jdk: openjdk-ea
env: CHECK_RUST=false
# Nightly Rust on Linux.
- name: "Linux / JDK 14 / CHECK_RUST=false / Nightly Rust"
if: type=cron
os: linux
jdk: openjdk14
env:
- CHECK_RUST=false
- RUST_COMPILER_VERSION=nightly
# Nightly Rust on macOS.
- name: "OSX / JDK 14 / CHECK_RUST=false / Nightly Rust"
if: type=cron
os: osx
osx_image: xcode11.3
env:
- CHECK_RUST=false
- RUST_COMPILER_VERSION=nightly
- ROCKSDB_LIB_DIR=/usr/local/lib
- SNAPPY_LIB_DIR=/usr/local/lib
- SNAPPY_STATIC=1
- name: "Linux / JDK 13 / Sonar Report"
os: linux
jdk: openjdk13
script:
- set -e
- source exonum-java-binding/tests_profile
- mvn install sonar:sonar -Pci-build
cache:
directories:
# Bits of Rust (see https://docs.travis-ci.com/user/languages/rust/#dependency-management).
# We do not cache `target` as the produced artifacts are huge and don't make sense caching.
- "$TRAVIS_HOME/.cargo"
- "$TRAVIS_HOME/.rustup/"
# Java (Maven)
- "$TRAVIS_HOME/.m2"
before_cache:
# Remove the project artifacts — no need to cache them.
# See also: https://docs.travis-ci.com/user/languages/rust/#dependency-management
- rm -rf "$TRAVIS_HOME/.m2/repository/com/exonum/binding/" "$TRAVIS_HOME/.m2/repository/com/exonum/client/" "$TRAVIS_HOME/.m2/repository/com/exonum/messages/"
- rm -rf "$TRAVIS_HOME/.cargo/registry/src"
before_install:
# Skip the build if only md files were updated.
- source .travis/skip-ci.sh
- export PATH="$PATH":"$HOME/.cargo/bin"
# Install rustup if it's not already installed (i.e., not in CI cache).
- which rustup > /dev/null || curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain "$RUST_COMPILER_VERSION" --profile minimal
- rustup default "$RUST_COMPILER_VERSION"
# List all installed cargo packages.
- cargo install --list
install: true # Skip the installation step, as Maven requires
# several extra properties when run on a CI server (see below).
script:
- cd "$TRAVIS_BUILD_DIR"
- .travis/run_travis_job.sh
notifications:
email:
- recipients:
- secure: "qUzyPyr/KCt4rTH57d1dq/OFmUKW2eLftu/mHBJ+ePvFk2p7u7LGxAk9bcDNk26WcYbZDhz8ddMDAULQut4Jljq0tcY5ZeAtA1w4Fbci2TT5MCOB7ueowRyGy1sHPRE7B+2XeY7U4Vua9ep43wYmmrygV10QFKikj4wxpEJjFpQJrisOxddosiw4639zj0qykPMx0z7KHETKMJXALP9ycpr/lJ05IzNMVLI3PAhZFM0PJ162oDxJQa0BJs9pyCAUqxeQO0zhAc/4cXql3RhuK4Y80ErylgqDSn0CaWmvx9WNQDd9ehFDBMnumWUuVtg4u6igCHq2t5/AwQJtrIC8Q+6Hj41to+VgR55U7FA8/WDtwfjFuYBc3i/c9SbRZz0h5+R2VZq4IFtstIMl7UsmCc6froPea6HdGHeknSS7RC9G6pqtWZHDSlHQonWJoA/nrjttx0NWTsu8gyUQ8JORHVffn5a3QYpZbwY7OzQA51CcSLHvkiNON3cISdO5ZGtn9chCJWK/N6oyzFmFizyxUehs7XS+gtfQCCzsthqne3yRZpPgWJNmIuIVkxjSmSSdLXVTOQTTGtugiJ7OSm7n9vWPkXQClgd/EWQwAuhhRm57SR32E1aIpwVMqJqL46d4Ynshopf24sv8E+wJUtJY/fcnLF50SFdxEPtF/XQQKhY="