forked from ethereum/populus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
91 lines (91 loc) · 3.49 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
language: python
dist: trusty
sudo: required
env:
global:
- SOLC_BASE_INSTALL_PATH=$TRAVIS_BUILD_DIR
- GETH_BASE_INSTALL_PATH=$TRAVIS_BUILD_DIR
- CHAIN_SYNC_BLOCK_DELTA=100
- GOROOT=/usr/lib/go-1.7
- PYTEST_ADDOPTS="-n 2"
matrix:
include:
# Solc 0.4.13
- python: "3.5"
env: SOLC_VERSION=v0.4.13 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py35"
- python: "3.6"
env: SOLC_VERSION=v0.4.13 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py36"
# Solc 0.4.14
- python: "3.5"
env: SOLC_VERSION=v0.4.14 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py35"
- python: "3.6"
env: SOLC_VERSION=v0.4.14 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py36"
# Solc 0.4.15
- python: "3.5"
env: SOLC_VERSION=v0.4.15 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py35"
- python: "3.5"
env: SOLC_VERSION=v0.4.15 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py35"
# Solc 0.4.16
- python: "3.5"
env: SOLC_VERSION=v0.4.16 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py35"
- python: "3.6"
env: SOLC_VERSION=v0.4.16 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py36"
# Solc 0.4.17
- python: "3.5"
env: SOLC_VERSION=v0.4.17 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py35"
- python: "3.6"
env: SOLC_VERSION=v0.4.17 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py36"
# Solc 0.4.18
- python: "3.5"
env: SOLC_VERSION=v0.4.18 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py35"
- python: "3.6"
env: SOLC_VERSION=v0.4.17 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py36"
# Solc 0.4.19
- python: "3.5"
env: SOLC_VERSION=v0.4.19 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py35"
- python: "3.6"
env: SOLC_VERSION=v0.4.19 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py36"
# Vyper
- python: "3.6"
env: SOLC_VERSION=v0.4.19 GETH_VERSION=v1.6.6 TOX_POSARGS="-e py36" INSTALL_VYPER="true"
# Linting
- python: "3.5"
env: TOX_POSARGS="-e flake8"
cache:
- pip: true
- directories:
- $HOME/.ethash/
before_install:
# geth build dependencies
- if [ -n "$GETH_VERSION" ]; then travis_retry sudo add-apt-repository -y ppa:gophers/archive; fi
- if [ -n "$GETH_VERSION" ]; then travis_retry sudo apt-get update; fi
- if [ -n "$GETH_VERSION" ]; then travis_retry sudo apt-get install -y --allow-unauthenticated golang-1.7 build-essential; fi
- if [ -n "$GETH_VERSION" ]; then mkdir -p $HOME/.ethash; fi
install:
# solc
- if [ -n "$SOLC_VERSION" ]; then travis_retry pip install "py-solc>=1.2.0"; fi
- if [ -n "$SOLC_VERSION" ]; then python -m solc.install $SOLC_VERSION; fi
- if [ -n "$SOLC_VERSION" ]; then export SOLC_BINARY="$SOLC_BASE_INSTALL_PATH/solc-$SOLC_VERSION/bin/solc"; fi
- if [ -n "$SOLC_VERSION" ]; then export LD_LIBRARY_PATH="$SOLC_BASE_INSTALL_PATH/solc-$SOLC_VERSION/bin"; fi
# geth
- if [ -n "$GETH_VERSION" ]; then travis_retry pip install "py-geth>=1.9.0"; fi
- if [ -n "$GETH_VERSION" ]; then python -m geth.install $GETH_VERSION; fi
- if [ -n "$GETH_VERSION" ]; then export GETH_BINARY="$GETH_BASE_INSTALL_PATH/geth-$GETH_VERSION/bin/geth"; fi
# install vyper if necessary.
- if [ -n "$INSTALL_VYPER" ]; then pip install https://github.com/ethereum/vyper/archive/master.zip; fi
# package
- travis_retry pip install setuptools --upgrade
- travis_retry pip install tox
before_script:
# solc
- if [ -n "$SOLC_BINARY" ]; then $SOLC_BINARY --version; fi
# geth
- if [ -n "$GETH_BINARY" ]; then $GETH_BINARY version; fi
- mkdir -p $HOME/.ethash
# DEBUG
- pip freeze
script:
- env
- tox $TOX_POSARGS
after_script:
- cat .tox/$TOX_POSARGS/log/*.log