forked from eclipse-theia/theia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
177 lines (177 loc) · 5.07 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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
sudo: required
language: node_js
node_js:
- 12
git:
depth: 1
cache:
yarn: true
directories:
# All directories need to be listed here, because Travis does not support globs.
# Auto generated by scripts/prepare-travis
# start_cache_directories
- /tmp/vscode-ripgrep-cache-1.8.0
- dev-packages/application-manager/node_modules
- dev-packages/application-package/node_modules
- dev-packages/cli/node_modules
- dev-packages/electron/node_modules
- examples/api-samples/node_modules
- examples/browser/node_modules
- examples/electron/node_modules
- node_modules
- packages/callhierarchy/node_modules
- packages/console/node_modules
- packages/core/node_modules
- packages/debug/node_modules
- packages/editor-preview/node_modules
- packages/editor/node_modules
- packages/file-search/node_modules
- packages/filesystem/node_modules
- packages/getting-started/node_modules
- packages/git/node_modules
- packages/keymaps/node_modules
- packages/markers/node_modules
- packages/messages/node_modules
- packages/metrics/node_modules
- packages/mini-browser/node_modules
- packages/monaco/node_modules
- packages/navigator/node_modules
- packages/outline-view/node_modules
- packages/output/node_modules
- packages/plugin-dev/node_modules
- packages/plugin-ext-vscode/node_modules
- packages/plugin-ext/node_modules
- packages/plugin-metrics/node_modules
- packages/plugin/node_modules
- packages/preferences/node_modules
- packages/preview/node_modules
- packages/process/node_modules
- packages/scm-extra/node_modules
- packages/scm/node_modules
- packages/search-in-workspace/node_modules
- packages/task/node_modules
- packages/terminal/node_modules
- packages/typehierarchy/node_modules
- packages/userstorage/node_modules
- packages/variable-resolver/node_modules
- packages/vsx-registry/node_modules
- packages/workspace/node_modules
# end_cache_directories
before_cache:
# Runs before the cache is updated, after successful CI
- rm -f node_modules/@theia/electron/post-install.log
- rm -rf node_modules/@theia/electron/download
- rm -rf node_modules/electron
branches:
only:
- master
env:
global:
- CXX=g++-4.8
- NODE_OPTIONS="--max_old_space_size=4096"
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
- libsecret-1-dev
- xvfb
- libx11-dev
- libxkbfile-dev
jdk:
- oraclejdk9
before_install:
- |
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
export DISPLAY=:99.0
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
echo "XVFB configured"
if [[ "$PYTHON" == *python3 ]]; then
sudo apt-get -y install python3
fi
fi
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0
- export PATH=$HOME/.yarn/bin:$PATH
- python --version
install:
- THEIA_SKIP_NPM_PREPARE=1 yarn install --skip-integrity-check
- npx electron-replace-ffmpeg # re-download library (in case it was cached)
- npx electron-codecs-test # test library
- yarn prepare # actually build
- scripts/check_git_status.sh
script:
- travis_retry yarn test:theia
- travis_retry yarn test:electron
- travis_retry yarn test:browser
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/c42ddc125fe6bbfccb48
on_success: change
on_failure: always
on_start: never
jobs:
fast_finish: true
include:
- stage: test
name: Ubuntu / Node 10 / Python 2
os: linux
dist: xenial
node_js: 10
- stage: test
name: Ubuntu / Node 12 / Python 2
os: linux
dist: xenial
- stage: test
name: Ubuntu / Node 12 / Python 3 (No Tests!)
os: linux
dist: xenial
env:
- PYTHON=/usr/bin/python3
before_script:
- node --version
- $PYTHON --version
# no tests, just build
script: yarn
- name: macOS / Node 12 / Python 2
os: osx
osx_image: xcode11.4
env: CXX=c++
script:
- travis_retry yarn test:theia
- name: Windows / Node 10 / Python 2
os: windows
node_js: 10
env:
- CXX=c++
- YARN_GPG=no
script:
- travis_retry yarn test:theia
- stage: deploy
if: NOT type IN (cron, pull_request)
os: linux
before_script: skip
script: skip
install: skip
before_deploy:
- |
if ! [ "$BEFORE_DEPLOY_RUN" ]; then
export BEFORE_DEPLOY_RUN=1
printf "//registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN}\n" >> ~/.npmrc
THEIA_SKIP_NPM_PREPARE=1 yarn install --skip-integrity-check # fix cache we meddled-with
yarn run docs
fi
deploy:
- provider: script
script: yarn run publish:next
on:
branch: master
skip_cleanup: true
- provider: pages
skip_cleanup: true
github-token: $GITHUB_TOKEN
local-dir: gh-pages
on:
branch: master