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" apt: packages: - 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.4.1 env: - "GEM=ar:sqlite3_mem" - rvm: jruby-9.1.8.0 jdk: oraclejdk8 env: - "GEM=ap" - rvm: jruby-9.1.8.0 jdk: oraclejdk8 env: - "GEM=am,amo,aj" # Test with old (< 9.4.2) postgresql - rvm: 2.4.0 env: - "GEM=ar:postgresql" addons: postgresql: "9.4" allow_failures: - rvm: ruby-head - rvm: jruby-9.1.8.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="