forked from eclipse-theia/theia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
154 lines (154 loc) · 4.52 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
sudo: required
language: node_js
node_js: "10"
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.5.7
- 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/json/node_modules
- packages/keymaps/node_modules
- packages/languages/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"
fi
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0
- export PATH=$HOME/.yarn/bin:$PATH
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
os: linux
- os: osx
env: CXX=c++
before_script: skip
script:
- travis_retry yarn test:theia
- os: windows
env:
- CXX=c++
- YARN_GPG=no
before_script: skip
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