language: ruby sudo: false cache: bundler: true directories: - /tmp/cache/unicode_conformance - /tmp/beanstalkd-1.10 - node_modules - $HOME/.nvm services: - memcached addons: postgresql: "9.6" apt: sources: - sourceline: "ppa:mc3man/trusty-media" - sourceline: "ppa:ubuntuhandbook1/apps" packages: - ffmpeg - mupdf - mupdf-tools bundler_args: --without test --jobs 3 --retry 3 before_install: - "rm ${BUNDLE_GEMFILE}.lock" - "travis_retry gem update --system" - "travis_retry 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" - "[[ -z $encrypted_8a915ebdd931_key && -z $encrypted_8a915ebdd931_iv ]] || openssl aes-256-cbc -K $encrypted_8a915ebdd931_key -iv $encrypted_8a915ebdd931_iv -in activestorage/test/service/configurations.yml.enc -out activestorage/test/service/configurations.yml -d" - "[[ $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") - redis-server --bind 127.0.0.1 --port 6379 --requirepass 'password' --daemonize yes script: 'ci/travis.rb' env: global: - "JRUBY_OPTS='--dev -J-Xmx1024M'" matrix: - "GEM=railties" - "GEM=ap,ac" - "GEM=am,amo,as,av,aj,ast" - "GEM=as PRESERVE_TIMEZONES=1" - "GEM=ar:mysql2" - "GEM=ar:sqlite3" - "GEM=ar:postgresql" - "GEM=guides" - "GEM=ac:integration" rvm: - 2.2.8 - 2.3.5 - 2.4.2 - ruby-head matrix: include: - rvm: 2.4.2 env: "GEM=av:ujs" - rvm: 2.2.8 env: "GEM=aj:integration" services: - memcached - rabbitmq - rvm: 2.3.5 env: "GEM=aj:integration" services: - memcached - rabbitmq - rvm: 2.4.2 env: "GEM=aj:integration" services: - memcached - rabbitmq - rvm: ruby-head env: "GEM=aj:integration" services: - memcached - rabbitmq - rvm: 2.3.5 env: - "GEM=ar:mysql2 MYSQL=mariadb" addons: mariadb: 10.2 - rvm: 2.3.5 env: - "GEM=ar:sqlite3_mem" - rvm: 2.3.5 env: - "GEM=ar:postgresql POSTGRES=9.2" addons: postgresql: "9.2" - rvm: jruby-9.1.13.0 jdk: oraclejdk8 env: - "GEM=ap" - rvm: jruby-9.1.13.0 jdk: oraclejdk8 env: - "GEM=am,amo,aj" allow_failures: - rvm: ruby-head - rvm: jruby-9.1.13.0 - env: "GEM=ac:integration" fast_finish: true notifications: email: false irc: on_success: change on_failure: always channels: # "irc.freenode.org#rails-contrib" - secure: "QFKSOK7xQiWWqTzYfYm0XWoW7idzuxT57MBW9i9EASyRLEPuDwZEubKRP40Y7wPx7ylQd9lp6kJheeLnrDvvTjFbW3sWv9GDRl4WlOU8sG/Kv7MXAASXlDqzyJxxXTtzLeXz2iwY296kOBuKxKxl923eTvEGeocwH02QGo14LpQ=" campfire: on_success: change on_failure: always rooms: - secure: "YA1alef1ESHWGFNVwvmVGCkMe4cUy4j+UcNvMUESraceiAfVyRMAovlQBGs6\n9kBRm7DHYBUXYC2ABQoJbQRLDr/1B5JPf/M8+Qd7BKu8tcDC03U01SMHFLpO\naOs/HLXcDxtnnpL07tGVsm0zhMc5N8tq4/L3SHxK7Vi+TacwQzI="