aboutsummaryrefslogblamecommitdiffstats
path: root/.travis.yml
blob: ba1263ad2e80f533494a4c8a37af35e6a6f28d72 (plain) (tree)
1
2
3
4
5
6
7
8
9
            
              
           

      
              
                   

                                    

                  


             
                
         

       
                
                

            
                                            
                                              



                   
                     
 
                                
               
                               
                                      
                                      
                                                                                                                                                                                                                                                                            



                                                                      

                                                                                     
                                                                                          
 
              



                                                                                                             

                                                                                     
 

                      
    

                                      
         
                    
                                  
                                                                                                              

                                              

                                   
                  
                                   
 
    
         
         



             
                
                               
                
                    
                                      




                           


                      
                         
                     
                                                                                                                                            
                                                                        


                                      




                           


                      
                         
                     

                                                                                                                                            
                    
                    
                                      




                           


                      
                         
                     


                                            
                                                                                                                                            
                                                                        
                

                                                 
                     

                                      
             
                     
                
          
                                        
                     
                      
          
                          
                     
                      
          
                                                  


                     
                                        














                                                                                                                                                                                                  
dist: xenial
language: ruby
sudo: false

cache:
  directories:
    - vendor/bundle
    - /tmp/cache/unicode_conformance
    - /tmp/beanstalkd-1.10
    - node_modules
    - $HOME/.nvm

services:
  - memcached
  - redis-server
  - mysql

addons:
  postgresql: 10
  chrome: stable
  apt:
    sources:
      - sourceline: "ppa:jonathonf/ffmpeg-3"
      - sourceline: "ppa:ubuntuhandbook1/apps"
    packages:
      - ffmpeg
      - mupdf
      - mupdf-tools
      - poppler-utils

bundler_args: --jobs 3 --retry 3
before_install:
  - "rm ${BUNDLE_GEMFILE}.lock"
  - "travis_retry gem update --system"
  - "travis_retry gem install bundler"
  - "[[ -z $encrypted_0fb9444d0374_key && -z $encrypted_0fb9444d0374_iv ]] || openssl aes-256-cbc -K $encrypted_0fb9444d0374_key -iv $encrypted_0fb9444d0374_iv -in activestorage/test/service/configurations.yml.enc -out activestorage/test/service/configurations.yml -d"
  - "[[ $GEM != 'actioncable:integration' ]] || yarn install"
  - "[[ $GEM != 'actionview:ujs' ]] || nvm install node"
  - "[[ $GEM != 'actionview:ujs' ]] || node --version"
  - "[[ $GEM != 'actionview:ujs' ]] || (cd actionview && npm install)"
  - "[[ $GEM != 'railties' ]] || (curl -o- -L https://yarnpkg.com/install.sh | bash)"
  - "[[ $GEM != 'railties' ]] || export PATH=$HOME/.yarn/bin:$PATH"
  - "[[ $GEM != 'activerecord:postgresql' ]] || sudo mount -o remount,size=50% /var/ramfs"

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")
  - "[[ $GEM != 'railties' ]] || (cd actionview && yarn build)"
  - "[[ $GEM != 'railties' ]] || (cd railties/test/isolation/assets && yarn install)"

script: 'ci/travis.rb'

env:
  global:
    - "JRUBY_OPTS='--dev -J-Xmx1024M'"
  matrix:
    - "GEM=railties"
    - "GEM=actionpack,actioncable"
    - "GEM=actionmailer,activemodel,activesupport,actionview,activejob,activestorage,actionmailbox,actiontext"
    - "GEM=activesupport PRESERVE_TIMEZONES=1"
    - "GEM=activerecord:sqlite3"
    - "GEM=activerecord:postgresql"
    - "GEM=activerecord:mysql2"
    - "GEM=guides"
    - "GEM=actioncable:integration"

rvm:
  - 2.5.3
  - 2.6.0
  - ruby-head

matrix:
  include:
    - rvm: 2.5.3
      env: "GEM=actionview:ujs"
    - rvm: 2.5.3
      sudo: required
      env: "GEM=activejob:integration"
      addons:
        postgresql: 10
        apt:
          packages:
          - rabbitmq-server
      services:
        - memcached
        - redis-server
        - rabbitmq-server
      before_install:
        - "[ -f /tmp/beanstalkd-1.10/Makefile ] || (curl -L https://github.com/beanstalkd/beanstalkd/archive/v1.10.tar.gz | tar xz -C /tmp)"
        - "pushd /tmp/beanstalkd-1.10 && make && (./beanstalkd &); popd"
    - rvm: 2.6.0
      sudo: required
      env: "GEM=activejob:integration"
      addons:
        postgresql: 10
        apt:
          packages:
          - rabbitmq-server
      services:
        - memcached
        - redis-server
        - rabbitmq-server
      before_install:
        - "[ -f /tmp/beanstalkd-1.10/Makefile ] || (curl -L https://github.com/beanstalkd/beanstalkd/archive/v1.10.tar.gz | tar xz -C /tmp)"
        - "pushd /tmp/beanstalkd-1.10 && make && (./beanstalkd &); popd"
    - rvm: ruby-head
      sudo: required
      env: "GEM=activejob:integration"
      addons:
        postgresql: 10
        apt:
          packages:
          - rabbitmq-server
      services:
        - memcached
        - redis-server
        - rabbitmq-server
      before_install:
        - "rm ${BUNDLE_GEMFILE}.lock"
        - "travis_retry gem update --system"
        - "travis_retry gem install bundler"
        - "[ -f /tmp/beanstalkd-1.10/Makefile ] || (curl -L https://github.com/beanstalkd/beanstalkd/archive/v1.10.tar.gz | tar xz -C /tmp)"
        - "pushd /tmp/beanstalkd-1.10 && make && (./beanstalkd &); popd"
    - rvm: 2.5.3
      env:
        - "GEM=activerecord:mysql2 MYSQL=mariadb"
      before_install:
        - "sudo mysql_upgrade"
        - "sudo service mysql restart"
      addons:
        mariadb: 10.3
    - rvm: 2.5.3
      env:
        - "GEM=activerecord:sqlite3_mem"
    - rvm: jruby-head
      jdk: oraclejdk11
      env:
        - "GEM=actionpack"
    - rvm: jruby-head
      jdk: oraclejdk11
      env:
        - "GEM=actionmailer,activemodel,activejob"
  allow_failures:
    - rvm: ruby-head
    - rvm: jruby-head
    - env: "GEM=actioncable: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="