aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 3a774e156491a5fe9530f10f8ffdf27085dcafd7 (plain) (blame)
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
language: ruby
sudo: false

cache:
  bundler: true
  directories:
    - /tmp/cache/unicode_conformance
    - /tmp/beanstalkd-1.10
    - node_modules
    - $HOME/.nvm

services:
  - memcached
  - redis

addons:
  postgresql: "9.4"

bundler_args: --without test --jobs 3 --retry 3
before_install:
  - "rm ${BUNDLE_GEMFILE}.lock"
  - "gem update --system"
  - "gem update bundler"
  - "[ -f /tmp/beanstalkd-1.10/Makefile ] || (curl -L https://github.com/kr/beanstalkd/archive/v1.10.tar.gz | tar xz -C /tmp)"
  - "pushd /tmp/beanstalkd-1.10 && make && (./beanstalkd &); popd"
  - "[[ $GEM != 'av:ujs' ]] || nvm install node"
  - "[[ $GEM != 'av:ujs' ]] || node --version"
  - "[[ $GEM != 'av:ujs' ]] || (cd actionview && npm install)"
  - "[[ $GEM != 'av:ujs' ]] || [[ $(phantomjs --version) > '2' ]] || npm install -g phantomjs-prebuilt"


before_script:
  # Set Sauce Labs username and access key. Obfuscated, purposefully not encrypted.
  # Decodes to e.g. `export VARIABLE=VALUE`
  - $(base64 --decode <<< "ZXhwb3J0IFNBVUNFX0FDQ0VTU19LRVk9YTAzNTM0M2YtZTkyMi00MGIzLWFhM2MtMDZiM2VhNjM1YzQ4")
  - $(base64 --decode <<< "ZXhwb3J0IFNBVUNFX1VTRVJOQU1FPXJ1YnlvbnJhaWxz")

script: 'ci/travis.rb'

env:
  global:
    - "JRUBY_OPTS='--dev -J-Xmx1024M'"
  matrix:
    - "GEM=railties"
    - "GEM=ap,ac"
    - "GEM=am,amo,as,av,aj"
    - "GEM=as PRESERVE_TIMEZONES=1"
    - "GEM=ar:mysql2"
    - "GEM=ar:sqlite3"
    - "GEM=ar:postgresql"
    - "GEM=guides"
    - "GEM=ac:integration"

rvm:
  - 2.2.7
  - 2.3.4
  - 2.4.1
  - ruby-head

matrix:
  include:
    - rvm: 2.4.1
      env: "GEM=av:ujs"
    - rvm: 2.2.7
      env: "GEM=aj:integration"
      services:
        - memcached
        - redis
        - rabbitmq
    - rvm: 2.3.4
      env: "GEM=aj:integration"
      services:
        - memcached
        - redis
        - rabbitmq
    - rvm: 2.4.1
      env: "GEM=aj:integration"
      services:
        - memcached
        - redis
        - rabbitmq
    - rvm: ruby-head
      env: "GEM=aj:integration"
      services:
        - memcached
        - redis
        - rabbitmq
    - rvm: 2.3.4
      env:
        - "GEM=ar:mysql2 MYSQL=mariadb"
      addons:
        mariadb: 10.0
    - rvm: 2.3.4
      env:
        - "GEM=ar:sqlite3_mem"
    - rvm: 2.3.4
      env:
        - "GEM=ar:postgresql POSTGRES=9.2"
      addons:
        postgresql: "9.2"
    - rvm: jruby-9.1.9.0
      jdk: oraclejdk8
      env:
        - "GEM=ap"
    - rvm: jruby-9.1.9.0
      jdk: oraclejdk8
      env:
        - "GEM=am,amo,aj"
  allow_failures:
    - rvm: ruby-head
    - rvm: jruby-9.1.9.0
    - env: "GEM=ac:integration"
  fast_finish: true

notifications:
  email: false
  irc:
    on_success: change
    on_failure: always
    channels:
      - "irc.freenode.org#rails-contrib"
  campfire:
    on_success: change
    on_failure: always
    rooms:
      - secure: "YA1alef1ESHWGFNVwvmVGCkMe4cUy4j+UcNvMUESraceiAfVyRMAovlQBGs6\n9kBRm7DHYBUXYC2ABQoJbQRLDr/1B5JPf/M8+Qd7BKu8tcDC03U01SMHFLpO\naOs/HLXcDxtnnpL07tGVsm0zhMc5N8tq4/L3SHxK7Vi+TacwQzI="