@@ -11,6 +11,8 @@ db/*.sqlite3 |
||
11 | 11 |
public/system/* |
12 | 12 |
coverage |
13 | 13 |
spec/tmp/* |
14 |
+.travis.yml |
|
15 |
+build_docker_image.sh |
|
14 | 16 |
|
15 | 17 |
# Copied from .gitignore |
16 | 18 |
*.rbc |
@@ -1,11 +1,29 @@ |
||
1 |
-sudo: false |
|
1 |
+dist: trusty |
|
2 |
+sudo: required |
|
2 | 3 |
language: ruby |
4 |
+services: |
|
5 |
+ - docker |
|
6 |
+ - postgresql |
|
3 | 7 |
env: |
4 | 8 |
global: |
5 | 9 |
- APP_SECRET_TOKEN=b2724973fd81c2f4ac0f92ac48eb3f0152c4a11824c122bcf783419a4c51d8b9bba81c8ba6a66c7de599677c7f486242cf819775c433908e77c739c5c8ae118d |
10 |
+ - secure: fzmSI7PQz6CJiIJNAtLAuy3TMmYCrK4bUil3uufh8JkHfpSGWOZt2i6fZ8yZ7pzwG5Aw7eZDgdFsNcEPJlgUDJhlwjg+QxCJslhotTQ9qI3Ieo85peWlU9dZFTOZcrCu0net/hY2FE4ZpTRb5r8A/DRv9ukA8P8tShhePCjckgg= |
|
11 |
+ - secure: YjW07LpRSiC9xB6PhLQ4LVv2VphvF3IacV43PLfvzdagjy14yAwKXTUlSadgRaMbndB2dlCTe3YcY11a/xtX/2HDrF14NHPXQdL7e2dJUS3CDLSKZK26x1SOiaaDIrl1jO1xr5kOUd+564MAcNUzDTJQR4CrWl/5t6EwW4iYQVc= |
|
12 |
+ - secure: RJiSTB9Anax6uL6mgYY1m42w71ohlsfIlVCk7ho6W19ZfSzQOfom0mBdeNwfgmXsMMnvnqatfxSg8k3C//pRtI/tjzAovHd7t1YIN1IkDNf9uSpzrIeXXc4fSHaVxnl512oI/eBQy9MSBjVZjrg5XEzLKKEGsZCai+ZKB4PS+nM= |
|
6 | 13 |
matrix: |
7 | 14 |
- DATABASE_ADAPTER=mysql2 |
8 | 15 |
- DATABASE_ADAPTER=postgresql DATABASE_USERNAME=postgres |
16 |
+ - DOCKER_IMAGE=cantino/huginn-single-process DOCKERFILE=docker/single-process/Dockerfile |
|
17 |
+ - DOCKER_IMAGE=cantino/huginn DOCKERFILE=docker/multi-process/Dockerfile |
|
18 |
+matrix: |
|
19 |
+ exclude: |
|
20 |
+ - env: DOCKER_IMAGE=cantino/huginn-single-process DOCKERFILE=docker/single-process/Dockerfile |
|
21 |
+ - env: DOCKER_IMAGE=cantino/huginn DOCKERFILE=docker/multi-process/Dockerfile |
|
22 |
+ include: |
|
23 |
+ - rvm: 2.3.0 |
|
24 |
+ env: DATABASE_ADAPTER=mysql2 DOCKER_IMAGE=cantino/huginn-single-process DOCKERFILE=docker/single-process/Dockerfile |
|
25 |
+ - rvm: 2.3.0 |
|
26 |
+ env: DATABASE_ADAPTER=mysql2 DOCKER_IMAGE=cantino/huginn DOCKERFILE=docker/multi-process/Dockerfile |
|
9 | 27 |
rvm: |
10 | 28 |
- 2.0.0 |
11 | 29 |
- 2.1 |
@@ -13,9 +31,11 @@ rvm: |
||
13 | 31 |
- 2.3.0 |
14 | 32 |
cache: bundler |
15 | 33 |
bundler_args: --without development production |
16 |
-before_script: |
|
17 |
-- bundle exec rake db:create db:migrate |
|
18 |
-script: bundle exec rake |
|
34 |
+before_install: |
|
35 |
+ - sudo apt-get -qq update |
|
36 |
+ - sudo apt-get install -y mysql-server |
|
37 |
+script: |
|
38 |
+ - if [ -z "${DOCKER_IMAGE}" ]; then bundle exec rake db:create db:migrate && bundle exec rake; else ./build_docker_image.sh; fi |
|
19 | 39 |
notifications: |
20 | 40 |
irc: |
21 | 41 |
channels: |
@@ -29,4 +49,4 @@ notifications: |
||
29 | 49 |
- https://webhooks.gitter.im/e/5f92cc0393c6f1defe0d |
30 | 50 |
on_success: change # options: [always|never|change] default: always |
31 | 51 |
on_failure: always # options: [always|never|change] default: always |
32 |
- on_start: false # default: false |
|
52 |
+ on_start: never # options: [always|never|change] default: never |
@@ -0,0 +1,14 @@ |
||
1 |
+#!/bin/bash |
|
2 |
+set -ev |
|
3 |
+ |
|
4 |
+docker pull $DOCKER_IMAGE |
|
5 |
+docker build -t $DOCKER_IMAGE -f $DOCKERFILE . |
|
6 |
+ |
|
7 |
+if [[ -n "${DOCKER_USER}" && "${TRAVIS_PULL_REQUEST}" = 'false' && "${TRAVIS_BRANCH}" = "master" ]]; then |
|
8 |
+ docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS |
|
9 |
+ docker tag $DOCKER_IMAGE $DOCKER_IMAGE:$TRAVIS_COMMIT |
|
10 |
+ docker push $DOCKER_IMAGE |
|
11 |
+ docker push $DOCKER_IMAGE:$TRAVIS_COMMIT |
|
12 |
+else |
|
13 |
+ echo "Docker image are only pushed for builds of the master branch when Docker Hub credentials are present." |
|
14 |
+fi |