@@ -10,139 +10,96 @@ addons:
10
10
- g++-4.8
11
11
- g++-4.8-multilib
12
12
- gcc-multilib
13
- - libgtk2.0-0
14
- - libxtst6
15
- - libnotify4
16
- - libgconf2-4
17
- - libgtk2.0-0:i386
18
- - libxtst6:i386
19
- - libnotify4:i386
20
- - libgconf2-4:i386
21
- - libnss3:i386
22
- - libasound2:i386
23
- - libxss1:i386
24
- - socat
25
13
26
14
# Build matrix
27
15
os :
28
16
- linux
29
17
- osx
30
18
env :
31
19
global :
32
- - secure : " qEdwCY/ilHkqWkqasN5MgWCnzzop4lEYkbpxEiVMTZBY12p4uV6ysPQ+ZLZcx10Cg90RIQlsPeEANIhCzkWfnQi+ySmeiKY9JR2eSnb69wM7dBQ/uxv04eVChAlZSsDHwmTIIzIzZFsrWrcwwJaENGCJYKqZ9LKOiGFGQ8Is09A ="
20
+ - secure : " L+AGMJc5NAsuym+xzB4FWj0c2rCobosixkoxLBhDBVkLiYsMtfS9y1w8Xz0pbWKJnJAH9tfwHluu5aX2qYk2HbreSyNzy8hbPW+9RbSyAQexeiZG4mLuDEz0xvlpCCQBsS1OfMypQk0/JvL4oA9B/xasrpkeVuPI7dwAz2WcFms ="
33
21
matrix :
34
22
- TRAVIS_NODE_VERSION="4"
35
23
- TRAVIS_NODE_VERSION="4" ARCH="x86"
36
24
- TRAVIS_NODE_VERSION="6"
37
25
- TRAVIS_NODE_VERSION="6" ARCH="x86"
38
- - TRAVIS_NODE_VERSION="8"
39
- - TRAVIS_NODE_VERSION="8" ARCH="x86"
40
- - TRAVIS_ELECTRON_VERSION="1.4.12" TRAVIS_NODE_VERSION="6"
41
- - TRAVIS_ELECTRON_VERSION="1.4.12" ARCH="x86" TRAVIS_NODE_VERSION="6"
26
+ - BINARY_BUILDER="true" TRAVIS_NODE_VERSION="8"
27
+ - BINARY_BUILDER="true" TRAVIS_NODE_VERSION="8" ARCH="x86"
42
28
matrix :
43
29
exclude :
44
30
- os : osx
45
31
env : TRAVIS_NODE_VERSION="4" ARCH="x86"
46
32
- os : osx
47
33
env : TRAVIS_NODE_VERSION="6" ARCH="x86"
48
34
- os : osx
49
- env : TRAVIS_NODE_VERSION="8" ARCH="x86"
50
- - os : osx
51
- env : TRAVIS_ELECTRON_VERSION="1.4.12" ARCH="x86" TRAVIS_NODE_VERSION="6"
52
- - os : linux
53
- env : TRAVIS_ELECTRON_VERSION="1.4.12" ARCH="x86" TRAVIS_NODE_VERSION="6"
35
+ env : BINARY_BUILDER="true" TRAVIS_NODE_VERSION="8" ARCH="x86"
54
36
55
37
before_install :
56
- # reinstall latest nvm
57
- - rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh
58
- - nvm install $TRAVIS_NODE_VERSION
59
- - PATH=$PATH:`pwd`/node_modules/.bin
60
38
61
- - BASE_URL=$(node -p "'https://nodejs.org/dist/' + process.version")
62
- - X86_FILE=$(node -p "'node-' + process.version + '-' + process.platform + '-x86'")
63
39
# download node if testing x86 architecture
64
- - if [[ "$ARCH" == "x86" ]]; then wget $BASE_URL/$X86_FILE.tar.gz; tar -xf $X86_FILE.tar.gz; export PATH=$X86_FILE/bin:$PATH; fi
40
+ - >
41
+ if [[ "$ARCH" == "x86" ]]; then
42
+ BASE_URL=$(node -p "'https://nodejs.org/dist/' + process.version");
43
+ X86_FILE=$(node -p "'node-' + process.version + '-' + process.platform + '-x86'");
44
+ wget $BASE_URL/$X86_FILE.tar.gz;
45
+ tar -xf $X86_FILE.tar.gz;
46
+ nvm deactivate;
47
+ export PATH=$X86_FILE/bin:$PATH;
48
+ else
49
+ nvm install $TRAVIS_NODE_VERSION
50
+ fi;
51
+
52
+ # use g++-4.8 on Linux
53
+ - if [[ $TRAVIS_OS_NAME == "linux" ]]; then export CXX=g++-4.8; fi
54
+ - $CXX --version
65
55
66
- # upgrade npm if on node 4 as it doesn't like our dev peer deps
56
+ # upgrade npm if on node 4 as npm2 doesn't like our dev peer deps
67
57
- if [[ $TRAVIS_NODE_VERSION == "4" ]]; then npm install -g npm; fi
68
58
59
+ # Cleanup the output of npm
60
+ - npm config set progress false
61
+ - npm config set spin false
62
+
69
63
# print versions
70
64
- uname -a
71
- - file `which node`
65
+ - which node; file `which node`
72
66
- node --version
73
67
- node -p 'process.platform + "@" + process.arch'
74
68
- npm --version
75
69
76
- # use g++-4.8 on Linux
77
- - if [[ $TRAVIS_OS_NAME == "linux" ]]; then export CXX=g++-4.8; fi
78
- - $CXX --version
79
-
80
70
# figure out if we should publish
81
71
- PUBLISH_BINARY=false
82
- # if we are building a tag then publish
83
72
- echo $TRAVIS_BRANCH
84
73
- echo `git describe --tags --always HEAD`
85
- - if [[ $TRAVIS_BRANCH == `git describe --tags --always HEAD` ]]; then PUBLISH_BINARY=true ; fi;
74
+ - if [[ $TRAVIS_BRANCH == `git describe --tags --always HEAD` ]]; then PUBLISH_BINARY=$BINARY_BUILDER ; fi;
86
75
- echo "Publishing native platform Binary Package? ->" $PUBLISH_BINARY
87
76
88
- # Cleanup the output of npm
89
- - npm config set progress false
90
- - npm config set spin false
91
-
92
77
# setup virtual serialports
93
78
# - >
94
79
# socat -d -d -unlink-close pty,raw,nonblock,echo=0,link=ttyV0 pty,raw,nonblock,echo=0,link=ttyV1 &
95
80
# ./bin/echo.js --port ttyV0 &
96
81
# export TEST_PORT=ttyV1
97
82
98
- - >
99
- if [[ ! -z $TRAVIS_ELECTRON_VERSION ]]; then
100
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then
101
- export DISPLAY=:99.0
102
- sh -e /etc/init.d/xvfb start
103
- fi
104
-
105
- export npm_config_target=$TRAVIS_ELECTRON_VERSION
106
- export npm_config_arch=$ARCH
107
- export npm_config_disturl=https://atom.io/download/atom-shell
108
- export npm_config_runtime=electron
109
-
110
- npm install --arch=$ARCH electron@$TRAVIS_ELECTRON_VERSION
111
- npm install electron-mocha
112
-
113
- echo "installed Electron $TRAVIS_ELECTRON_VERSION"
114
- fi
115
-
116
83
install :
117
84
# ensure source install works
118
85
- npm install --build-from-source
119
86
120
-
121
87
script :
122
88
# linting no longer works on node 4
123
89
- >
124
90
if [[ $TRAVIS_NODE_VERSION != "4" ]]; then
125
91
npm run lint
126
- fi
92
+ fi;
127
93
128
94
- npm run docs:diff
129
- - >
130
- if [[ -z $TRAVIS_ELECTRON_VERSION ]]; then
131
- node ./
132
- npm test
133
- else
134
- electron test/electron
135
- fi
95
+ - node ./
96
+ - npm test
136
97
137
98
# if publishing, do it
138
- - if [[ $PUBLISH_BINARY == true ]]; then node-pre-gyp package; fi;
139
- - if [[ $PUBLISH_BINARY == true ]]; then node-pre-gyp-github publish --release; fi;
140
-
141
- # cleanup
142
- - node-pre-gyp clean
143
-
144
- # test binary exists
145
- - if [[ $PUBLISH_BINARY == true ]]; then npm install --fallback-to-build=false; fi;
99
+ - >
100
+ if [[ $PUBLISH_BINARY == true ]]; then
101
+ npm run prebuild-upload;
102
+ fi;
146
103
147
104
after_success :
148
105
- bash <(curl -s https://codecov.io/bash)
0 commit comments