@@ -152,10 +152,12 @@ jobs:
152
152
- run :
153
153
name : Install dependencies
154
154
command : |
155
+ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
155
156
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
157
+ echo "deb [ arch=amd64 ] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list
156
158
echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
157
159
sudo apt-get update
158
- sudo apt-get install -y mongodb-org-shell
160
+ sudo apt-get install -y mongodb-org-shell google-chrome-stable
159
161
160
162
- run :
161
163
name : Configure Replica Set
@@ -192,6 +194,14 @@ jobs:
192
194
193
195
- checkout
194
196
197
+ - run :
198
+ name : Install dependencies
199
+ command : |
200
+ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
201
+ echo "deb [ arch=amd64 ] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list
202
+ sudo apt-get update
203
+ sudo apt-get install -y google-chrome-stable
204
+
195
205
- run :
196
206
name : NPM install
197
207
command : |
@@ -245,10 +255,60 @@ jobs:
245
255
aws s3 cp $ROCKET_DEPLOY_DIR/ s3://download.rocket.chat/build/ --recursive
246
256
247
257
bash .circleci/update-releases.sh
248
- bash .circleci/docker.sh
249
258
bash .circleci/snap.sh
250
259
bash .circleci/redhat-registry.sh
251
260
261
+ image-build :
262
+ << : *defaults
263
+
264
+ docker :
265
+ - image : docker:17.05.0-ce-git
266
+
267
+ steps :
268
+ - attach_workspace :
269
+ at : /tmp
270
+
271
+ - checkout
272
+
273
+ - setup_remote_docker
274
+
275
+ - run :
276
+ name : Build Docker image
277
+ command : |
278
+ cd /tmp/build
279
+ cp ~/repo/.docker/Dockerfile .
280
+ tar xzf Rocket.Chat.tar.gz
281
+ rm Rocket.Chat.tar.gz
282
+
283
+ export CIRCLE_TAG=${CIRCLE_TAG:=}
284
+ export CIRCLE_PR_NUMBER="${CIRCLE_PR_NUMBER:-${CIRCLE_PULL_REQUEST##*/}}"
285
+
286
+ docker login -u $DOCKER_USER -p $DOCKER_PASS
287
+
288
+ if [[ $CIRCLE_TAG ]]; then
289
+ docker build -t rocketchat/rocket.chat:latest .
290
+ docker push rocketchat/rocket.chat:latest
291
+
292
+ docker tag rocketchat/rocket.chat:latest rocketchat/rocket.chat:$CIRCLE_TAG
293
+ docker push rocketchat/rocket.chat:$CIRCLE_TAG
294
+
295
+ exit 0
296
+ fi;
297
+
298
+ if [[ $CIRCLE_PR_NUMBER ]]; then
299
+ docker build -t rocketchat/rocket.chat:pr-$CIRCLE_PR_NUMBER .
300
+ docker push rocketchat/rocket.chat:pr-$CIRCLE_PR_NUMBER
301
+
302
+ exit 0
303
+ fi;
304
+
305
+ if [[ $CIRCLE_BRANCH == 'develop' ]]; then
306
+ docker build -t rocketchat/rocket.chat:develop .
307
+ docker push rocketchat/rocket.chat:develop
308
+
309
+ exit 0
310
+ fi;
311
+
252
312
workflows :
253
313
version : 2
254
314
build-and-test :
@@ -278,4 +338,29 @@ workflows:
278
338
only : develop
279
339
tags :
280
340
only : /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/
341
+ - image-build :
342
+ requires :
343
+ - deploy
344
+ filters :
345
+ branches :
346
+ only : develop
347
+ tags :
348
+ only : /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/
349
+ - hold :
350
+ type : approval
351
+ requires :
352
+ - build
353
+ filters :
354
+ branches :
355
+ ignore : develop
356
+ tags :
357
+ only : /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/
358
+ - pr-image-build :
359
+ requires :
360
+ - hold
361
+ filters :
362
+ branches :
363
+ ignore : develop
364
+ tags :
365
+ only : /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/
281
366
0 commit comments