forked from todbot/Blink1Control2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
148 lines (132 loc) · 5.45 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
---
# dist: trusty
language: cpp
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
- g++-4.8-multilib
- gcc-multilib
- libgtk2.0-0
- libxtst6
- libnotify4
- libgconf2-4
- libgtk2.0-0:i386
- libxtst6:i386
- libnotify4:i386
- libgconf2-4:i386
- libnss3:i386
- libasound2:i386
- libxss1:i386
- socat
- libusb-1.0-0:i386
- libusb-1.0-0-dev
- libudev-dev
# Build matrix
os:
#- linux
- osx
env:
global:
# NODE_PRE_GYP_GITHUB_TOKEN for node-pre-gyp-github
- secure: "VSd9F+3AgiRDCj1XLFTIpiMEpB8wDB5dqmjcv294+2Mqi7JM8ONsXR6KAZy9qNMjg/w0UrZFXX57qjlQ1PhOofh8nwthkcdQRv6gnKUkJyJ5OGYO74qpgHYjegZYGkYtPSZkDsF0xNCERMWP7Os+KuiqMTIIgUrjlNrRJWxQPR0="
# GH_TOKEN for maybe electron-builder
#- secure: "b7azXtBL5fNWKLxjzCncq67zmxA6rIvq5CSe8vEfl9VAwKbPBUxFSo6iWbh4uGxrwDQoNzrH+5d9zAIXSAWOfal1+4R9kA6+2oUpTDCOGwAxr9HIXCVgRA01ZwB0DsTUFnnz8eXFnWPPIYkFZa/ChlTvNvuyTkFnyvRwXuyaiwwF6HW9B7MFgRghgYVwuikXVhifS7jVo3/5Ayjiw0U3ht4L7VjJvjYdaWayCxaxYT+wTIYNAP3TjaCthlJ/yfUSKXQSkSLQCxJimAFvMN5m4Yp/mHcRLD8evZxRDD9fOShwnDq5i3sM8A548/5vNE60EeULeLRCbD+00dbtBBDId3Ft3s3jI/JlIDpGtLjgKAn5Hvoibog3KL/c0cQnU+a9E9HPAT9tXwB7R59OM88rbup/wa9+b+abiysVRipKMZVgNlkSmqoX2AY/w6pQQLV6Xopnj1NKwWnXs75E2Nt2YKvTQcu1uOWBvsORiw0MBYvt2Q3TT8Gq3odSAhe+iECpIaK2TTMO9+0ywvla5Y4tZYnIz6M4AGCAlm50r1dkZbm++Yjyip2H4dVOruVg+BrQpkSEjxwHSz6vP+udRz0XShhR9gY20rrFT97uWJtlM/AVzsR6MXbjalxSLGtgfLVe+NawAy7SPMTVu3bII80OOnJ0oyOPtkYGZcQ/yOEpU20="
matrix:
# - TRAVIS_NODE_VERSION="4"
# - TRAVIS_NODE_VERSION="6"
- TRAVIS_NODE_VERSION="7"
# - TRAVIS_NODE_VERSION="4" ARCH="x86"
# - TRAVIS_NODE_VERSION="6" ARCH="x86"
# - TRAVIS_NODE_VERSION="7" ARCH="x86"
matrix:
exclude:
- os: osx
env: TRAVIS_NODE_VERSION="4" ARCH="x86"
- os: osx
env: TRAVIS_NODE_VERSION="6" ARCH="x86"
- os: osx
env: TRAVIS_NODE_VERSION="7" ARCH="x86"
cache:
directories:
- node_modules
- app/node_modules
- $HOME/.electron
- $HOME/.cache
before_install:
# suppress 'shell_session_update' error https://github.com/travis-ci/travis-ci/issues/6307
- rvm get head
# reinstall latest nvm
- 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
- nvm install $TRAVIS_NODE_VERSION
- PATH=$PATH:`pwd`/node_modules/.bin
- BASE_URL=$(node -p "'https://nodejs.org/dist/' + process.version")
- X86_FILE=$(node -p "'node-' + process.version + '-' + process.platform + '-x86'")
# download node if testing x86 architecture
- if [[ "$ARCH" == "x86" ]]; then wget $BASE_URL/$X86_FILE.tar.gz; tar -xf $X86_FILE.tar.gz; export PATH=$X86_FILE/bin:$PATH; fi
#- if [[ "$ARCH" == "x86" ]]; then export LDFLAGS=-L/lib/i386-linux-gnu ; fi
# print versions
- uname -a
- file `which node`
- node --version
- node -p 'process.platform + "@" + process.arch'
- npm --version
#- ldconfig -p | grep i386
#- ls -al /lib/i386-linux-gnu/*usb*
# use g++-4.8 on Linux
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then export CXX=g++-4.8; fi
- $CXX --version
# figure out if we should publish
- PUBLISH_BINARY=false
# if we are building a tag then publish
- echo $TRAVIS_BRANCH
- echo `git describe --tags --always HEAD`
- if [[ $TRAVIS_BRANCH == `git describe --tags --always HEAD` ]]; then PUBLISH_BINARY=true; fi;
- echo "Publishing native platform Binary Package? ->" $PUBLISH_BINARY
# Cleanup the output of npm
- npm config set progress false
- npm config set spin false
install:
# ensure source install works
#- export V=1
#- npm install electron-builder@next # force install next version to test electron-builder
- npm install
- npm run postinstall
script:
# if publishing, do it
#- if [[ $PUBLISH_BINARY == true ]]; then node-pre-gyp package; fi;
#- if [[ $PUBLISH_BINARY == true ]]; then node-pre-gyp-github publish --release; fi;
- npm run webpack
# this builds the .dmg and .zip files
- npm run dist
- echo "*** done. debug begin ***"
- env | sort
- ls -al dist/mac
- echo "*** done. debug end ***"
# cleanup
#- node-pre-gyp clean
# test binary exists
#- if [[ $PUBLISH_BINARY == true ]]; then npm install --fallback-to-build=false; fi;
# after_success:
# - bash <(curl -s https://codecov.io/bash)
#
# FIXME: need to parameterize this per OS, how?
before_deploy:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export DFILE1=$(ls dist/mac/Blink1Control2*.dmg); fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export DFILE2=$(ls dist/mac/Blink1Control2*.zip); fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DFILE1=$(ls dist/linux/Blink1Control2*.zip); fi
# - export RELEASE_FILE1=$(ls dist/mac/Blink1Control2*.dmg)
# - export RELEASE_FILE2=$(ls dist/mac/Blink1Control2*.zip)
deploy:
skip_cleanup: true
provider: releases
api_key:
secure: mg9kDnOTZdDNLrU+0ZzNeqA1hP9x3uUW5POEA8+nL1odEWQnBVL5gmFKSqV8zub52yazdEebCiDad/WpX2I7F20PmZA/LDlQO6TWdVhT5BEfgdpatOtdyvGggd6e2AG+Rv73z5Svkf+N6wCPXxNMmBl+OqU5fZigZDpib/SPijobAKvwOnHfSURL1NiBTrp5vzdpX21M7p87MrA19Pojcn7WFZ3KR0l79oXorlr6HchNY645UkdLwDHenYMGto4h5ShaLW/XYGQFulQY+RYH3RR4AVxRVxB1xsW8jvu/EQjCcAQg3pkHMw8wAbVG3siiZZLKgHfwIF3U5o7RHoYchvOxHF0FMK+NMgZdJeZBBLXm6r6UnsNXkZOHJh4QbgMRqcFxHZdLNFg6PVTNrWvLsngS/gnlMy7UxaW598vNtL2gOQ9LmtOfJmxu2exYmKfwM1tTLsMt7H5Qc2JgGQi1ZZGzRVbS7r0Xjrl25+NXAm/OylDl2Dh6zkCGm4X0d77M5RplL9+Ov+7ZEbRo8uNqyloEJGNzOVC+avCJADCNFbA2PcppAdASx7YTeshXSwm3QfNIIXpCtYjFeydKbW8V0fXy8cCX27InAD6W/IykBggaO+qUW4uBZ0eOk2s0VArLwmPQVL10yYIfGl9PTjRfbVJYjYCf3qXjSn/qWXYIu0g=
file:
- "${DFILE1}"
- "${DFILE2}"
on:
repo: todbot/Blink1Control2
tags: true