forked from stdevPavelmc/skycoin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
115 lines (105 loc) · 3.41 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
sudo: required
dist: trusty
language: go
go:
- "1.11.x"
matrix:
include:
- os: linux
env: VERSION_UPGRADE_TEST_WAIT_TIMEOUT=45s
- os: osx
# Do not start osx build for PR
if: type != pull_request
osx_image: xcode8
env: VERSION_UPGRADE_TEST_WAIT_TIMEOUT=60s
before_install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt-get update -qq; fi
- eval "CC=gcc-6 && CXX=g++-6"
env:
global:
- ELECTRON_CACHE: $HOME/.cache/electron
- ELECTRON_BUILDER_CACHE: $HOME/.cache/electron-builder
- BUILD_DIR: build
- BUILDLIB_DIR: $BUILD_DIR/libskycoin
- LIB_DIR: lib
- BUILD_UI_TRAVIS_DIR: HOME/.skycoin-ui-travis
cache:
directories:
- electron/node_modules
- electron/src/node_modules
- $HOME/.cache/electron
- $HOME/.cache/electron-builder
- $HOME/.npm/_prebuilds
- src/gui/static/node_modules
addons:
chrome: stable
install:
# Install gox
- go get github.com/gz-c/gox
# Install dependences for building wallet
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_PULL_REQUEST" == false ]]; then sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils && nvm install 8; fi
- if [[ ! -d $GOPATH/src/github.com/skycoin/skycoin ]]; then mkdir -p $GOPATH/src/github.com/skycoin; ln -s $TRAVIS_BUILD_DIR $GOPATH/src/github.com/skycoin/skycoin; fi
- cd $GOPATH/src/github.com/skycoin/skycoin
- go get -t ./...
- make install-linters
# Install pinned golangci-lint, overriding the latest version install by make install-linters
- VERSION=1.10.2 ./ci-scripts/install-golangci-lint.sh
- ./ci-scripts/install-travis-gcc.sh
- make install-deps-libc
- nvm install 8.11.0
- nvm use 8.11.0
- make install-deps-ui
before_script:
- if [[ "$TRAVIS_OS_NAME" == "osx" && "$TRAVIS_PULL_REQUEST" == false ]]; then ./ci-scripts/add-key.sh; fi
- if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then export DISPLAY=:99.0 && sh -e /etc/init.d/xvfb start; fi
script:
- make lint
- make test-386
- make test-amd64
# Stable integration tests
- make integration-test-stable
# Stable integration tests without CSRF
- make integration-test-stable-disable-csrf
# Disable wallet api test
- make integration-test-disable-wallet-api
# Disable seed api test
- make integration-test-disable-seed-api
# Enable seed api test
- make integration-test-enable-seed-api
# Disable GUI test
- make integration-test-disable-gui
# Enable auth test
- make integration-test-auth
# Stable integration tests without unconfirmed transactions
- make integration-test-db-no-unconfirmed
# libskycoin tests
- CC=gcc-6 make test-libc
# TODO: test pyskycoin
# - CC=gcc-6 make test-libpy
# TODO: test ui
# - make test-ui
# - make test-libpy
- make lint-ui
- make build-ui-travis
- make test-ui
- make test-ui-e2e
# Build wallets
- if [[ "$TRAVIS_PULL_REQUEST" == false ]]; then ./ci-scripts/build-wallet.sh; fi
notifications:
email:
# https://github.com/kvld/travisci-telegram TravisCI Telegram Bot integration
webhooks: https://fathomless-fjord-24024.herokuapp.com/notify
deploy:
provider: s3
access_key_id: $AWS_ACCESS_KEY_ID
secret_access_key: $AWS_SECRET_ACCESS_KEY
bucket: $AWS_BUCKET
skip_cleanup: true
local_dir: electron/release
upload-dir: wallet
acl: public_read
region: $AWS_REGION
on:
repo: skycoin/skycoin
branch: master