forked from hyperstack-org/hyperstack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
222 lines (208 loc) · 8.82 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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
dist: xenial
addons:
apt:
sources:
- sourceline: 'deb http://dl.yarnpkg.com/debian/ stable main'
key_url: 'http://dl.yarnpkg.com/debian/pubkey.gpg'
- sourceline: 'deb http://dl.google.com/linux/chrome/deb/ stable main'
key_url: 'https://dl-ssl.google.com/linux/linux_signing_key.pub'
packages:
- postgresql-11
- chromium-chromedriver
- google-chrome-stable
- yarn
- redis-server
postgresql: '11'
_test_gem_pg: &_test_gem_pg
stage: test
language: ruby
cache:
bundler: true
directories:
- node_modules # NPM packages
before_install:
- echo 'installing postgresql'
- sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/11/main/postgresql.conf
- sudo cp /etc/postgresql/{9.6,11}/main/pg_hba.conf
- sudo service postgresql stop
- sudo service postgresql start 11
- postgres --version
- sudo rm -f /usr/local/bin/yarn
- nvm install 10
- rvm install 2.6.3 # was 2.5.1
- gem install bundler
- ln -s /usr/lib/chromium-browser/chromedriver ~/bin/chromedriver
- echo 'install completed'
before_script:
- echo before_script $COMPONENT
- echo updating chrome driver
- cd ruby/$COMPONENT
- bundle install --jobs=3 --retry=3
- bundle exec ruby -e 'require "webdrivers"; Webdrivers::Chromedriver.update; puts Webdrivers::Chromedriver.current_version'
- ls -la ~/.webdrivers
- sudo cp ~/.webdrivers/chromedriver /usr/lib/chromium-browser/chromedriver
- bundle exec rake spec:prepare
- google-chrome --version
- which google-chrome
- yarn install
script:
- echo running script $COMPONENT
- DRIVER=travis bundle exec rake $TASK
_test_gem: &_test_gem
stage: test
language: ruby
cache:
bundler: true
directories:
- node_modules # NPM packages
addons:
apt:
sources:
- sourceline: 'deb http://dl.yarnpkg.com/debian/ stable main'
key_url: 'http://dl.yarnpkg.com/debian/pubkey.gpg'
- sourceline: 'deb http://dl.google.com/linux/chrome/deb/ stable main'
key_url: 'https://dl-ssl.google.com/linux/linux_signing_key.pub'
packages:
- chromium-chromedriver
- google-chrome-stable
- yarn
- redis-server
mariadb: '10.3'
services:
- redis-server
before_install:
- echo installing $COMPONENT
# yarn is in /usr/local/bin/yarn version 1.3.2 and is not a package
# must remove this zombie for new yarn to work
- sudo rm -f /usr/local/bin/yarn
- nvm install 10
- rvm install 2.6.3 # was 2.5.1
- gem install bundler
- echo 'install completed'
before_script:
- echo before_script $COMPONENT
- cd ruby/$COMPONENT
- bundle install --jobs=3 --retry=3
- google-chrome --version
- bundle exec ruby -e 'require "webdrivers"; Webdrivers::Chromedriver.update; puts Webdrivers::Chromedriver.current_version'
- ls -la ~/.webdrivers
- sudo cp ~/.webdrivers/chromedriver /usr/lib/chromium-browser/chromedriver
- bundle exec rake spec:prepare
- yarn install
script:
- echo running script $COMPONENT
- DRIVER=travis bundle exec rake $TASK
_deploy_gem: &_deploy_gem
stage: release gems
before_script:
- cd ruby/$COMPONENT
script:
- echo deploying $COMPONENT
deploy:
- provider: rubygems
api_key:
secure: "ORJMyp20YFCkvujBfxoDPwEZy8R8YJaKwRhHZUDTPZPiS84mJA7Mqd0JjvRlF0mlH/WzspruM7hZV0CuMU8F/0raRhSUU9RBh5veZ/4ij9kboCYnfuqBVt6qPRtaf8DgKe7CWGioUrTISJCVKLnygY6gZd2aFXCEbqZMrkUvC7y43ymOoFoeyCLsXC0j5uJxdHgNfbaIUetIl2DQJUbC2Rgq1Iaxvi72Ae97TR2xRCu+ko8DopRpQCug6U81IhzXftizGfKwzecqVFjuMn3XEf+UDlU6xbvwWWkcwjYNAbP2Kk+mWwUMx36s+1Pyx8MOveYLTwnQJ6gHocZHzh7WJOD548JNU3F5oXIlUB4EzD20bCSIeRKOdxTuKrNk7W3a5qGERuQi4rkIlkKaFIBP55IkliUxvYxqr0WujsjO2reRcNhNcLVGCOaX6LZbWFR5bf0WiEOL4vOxPNw66sI2JVHoMmQeAYtL2ghxikdSPXKRc+inT3QiRBsh+ns8YrAP7sV4lX6r/qyWUtPh6kY8xIeTP4VzMviyf20m5u++omao/FSEtVnU3cro5KjrZLg3ILg4NpNG+xoRqPS/Hmxry5ZPrggqNrxoqWuO7pLd/NnV/AnLiT8rd2P0PTriP9uRIM8+fFfyOeGwbplOLrbWUPnCdQVWp6dYOrNgE2yDJ/I="
on:
tags: true
jobs:
include:
- <<: *_test_gem
env: COMPONENT=rails-hyperstack RUBY_VERSION=2.5.1
- <<: *_test_gem
env: COMPONENT=hyper-spec RUBY_VERSION=2.5.1
- <<: *_test_gem
env: COMPONENT=hyper-trace RUBY_VERSION=2.5.1
- <<: *_test_gem
env: COMPONENT=hyperstack-config RUBY_VERSION=2.5.1
- <<: *_test_gem
env: COMPONENT=hyper-state RUBY_VERSION=2.5.1
- <<: *_test_gem
env: COMPONENT=hyper-component RUBY_VERSION=2.5.1
- <<: *_test_gem
env: COMPONENT=hyper-router RUBY_VERSION=2.5.1
- <<: *_test_gem
env: COMPONENT=hyper-store RUBY_VERSION=2.5.1
- <<: *_test_gem
env: COMPONENT=hyper-operation RUBY_VERSION=2.5.1
- <<: *_test_gem_pg
env: COMPONENT=hyper-model RUBY_VERSION=2.5.1 TASK=part1 DB=hyper_mesh_test_db
- <<: *_test_gem_pg
env: COMPONENT=hyper-model RUBY_VERSION=2.5.1 TASK=part2 DB=hyper_mesh_test_db
- <<: *_test_gem_pg
env: COMPONENT=hyper-model RUBY_VERSION=2.5.1 TASK=part3 DB=hyper_mesh_test_db
- <<: *_test_gem
env: COMPONENT=hyper-i18n RUBY_VERSION=2.5.1
- <<: *_test_gem
env: COMPONENT=rails-hyperstack RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-spec RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-trace RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyperstack-config RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-state RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-component RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-router RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-store RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-operation RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem_pg
env: COMPONENT=hyper-model RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0' TASK=part1 DB=hyper_mesh_test_db
- <<: *_test_gem_pg
env: COMPONENT=hyper-model RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0' TASK=part2 DB=hyper_mesh_test_db
- <<: *_test_gem_pg
env: COMPONENT=hyper-model RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0' TASK=part3 DB=hyper_mesh_test_db
- <<: *_test_gem
env: COMPONENT=hyper-i18n RUBY_VERSION=2.5.1 OPAL_VERSION='~>0.11' RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=rails-hyperstack RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-spec RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-trace RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyperstack-config RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-state RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-component RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-router RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-store RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_test_gem
env: COMPONENT=hyper-operation RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_test_gem_pg
env: COMPONENT=hyper-model RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0' TASK=part1 DB=hyper_mesh_test_db
- <<: *_test_gem_pg
env: COMPONENT=hyper-model RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0' TASK=part2 DB=hyper_mesh_test_db
- <<: *_test_gem_pg
env: COMPONENT=hyper-model RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0' TASK=part3 DB=hyper_mesh_test_db
- <<: *_test_gem
env: COMPONENT=hyper-i18n RUBY_VERSION=2.5.1 RAILS_VERSION='~>5.0'
- <<: *_deploy_gem
env: COMPONENT=hyper-i18n
- <<: *_deploy_gem
env: COMPONENT=hyper-trace
- <<: *_deploy_gem
env: COMPONENT=hyper-state
- <<: *_deploy_gem
env: COMPONENT=hyper-component
- <<: *_deploy_gem
env: COMPONENT=hyper-model
- <<: *_deploy_gem
env: COMPONENT=hyper-operation
- <<: *_deploy_gem
env: COMPONENT=hyper-router
- <<: *_deploy_gem
env: COMPONENT=hyper-spec
- <<: *_deploy_gem
env: COMPONENT=hyper-store
- <<: *_deploy_gem
env: COMPONENT=rails-hyperstack
- <<: *_deploy_gem
env: COMPONENT=hyperstack-config