Use Ubuntu Xenial (16.04) at Travis CI

https://docs.travis-ci.com/user/reference/xenial/

* MySQL 5.7 and PostgreSQL 10 is available by default
https://docs.travis-ci.com/user/reference/xenial/#databases-and-services

* No matrixes necessary for "GEM=activerecord:mysql2", "GEM=activerecord:postgresql", "GEM=railties"
and "GEM=actionmailer,activemodel,activesupport,actionview,activejob,activestorage,actionmailbox,actiontext"

* Run mysql_upgrade for MariaDB

* Increase ramfs size before install for "GEM=activerecord:postgresql"

* Use FFMpeg 3.x using ppa:jonathonf/ffmpeg-3

    Ubuntu 16.04 installs FFMpeg version 2.x by default, which
    does not pass two of Active Stroage tests reported at https://github.com/rails/rails/issues/34921

* Use `rabbitmq-server` package and service

* Update bundler and rubygems to address "Could not find 'bundler' (1.17.2)" for ruby-head

    ```
    $ bundle install --jobs 3 --retry 3
    Traceback (most recent call last):
            2: from /home/travis/.rvm/rubies/ruby-head/bin/bundle:30:in `<main>'
            1: from /home/travis/.rvm/rubies/ruby-head/lib/ruby/2.7.0/rubygems.rb:302:in `activate_bin_path'
    /home/travis/.rvm/rubies/ruby-head/lib/ruby/2.7.0/rubygems.rb:283:in `find_spec_for_exe': Could not find 'bundler' (1.17.2) required by your /home/travis/build/rails/rails/Gemfile.lock. (Gem::GemNotFoundException)
    To update to the latest version installed on your system, run `bundle update --bundler`.\nTo install the missing version, run `gem install bundler:1.17.2`\n
    ```

* Use oraclejdk11 (18.9 LTS) to address the following error

    ```
    $ ~/bin/install-jdk.sh --target "/home/travis/oraclejdk8" --workspace "/home/travis/.cache/install-jdk" --feature "8" --license "BCL"
    install-jdk.sh 2018-10-17
    Expected feature release number in range of 9 to 13, but got: 8
    ```

    Refer:
    https://docs.travis-ci.com/user/reference/xenial/#jvm-clojure-groovy-java-scala-support
This commit is contained in:
Yasuo Honda 2018-12-24 14:31:44 +00:00
parent c91c71fa15
commit 0d8740493c
1 changed files with 33 additions and 86 deletions

View File

@ -1,3 +1,4 @@
dist: xenial
language: ruby
sudo: false
@ -12,24 +13,20 @@ cache:
services:
- memcached
- redis-server
- mysql
addons:
postgresql: 10
chrome: stable
apt:
sources:
- sourceline: "ppa:mc3man/trusty-media"
- sourceline: "ppa:jonathonf/ffmpeg-3"
- sourceline: "ppa:ubuntuhandbook1/apps"
- mysql-5.7-trusty
packages:
- ffmpeg
- mupdf
- mupdf-tools
- poppler-utils
- mysql-server
- mysql-client
- postgresql-10
- postgresql-client-10
bundler_args: --jobs 3 --retry 3
before_install:
@ -43,6 +40,7 @@ before_install:
- "[[ $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.
@ -56,10 +54,13 @@ 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"
@ -70,127 +71,73 @@ rvm:
matrix:
include:
- rvm: 2.5.3
env: "GEM=railties"
sudo: required
before_install:
- "rm ${BUNDLE_GEMFILE}.lock"
- "travis_retry gem update --system"
- "travis_retry gem install bundler"
- "sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/10/main/postgresql.conf"
- "sudo service postgresql restart 10"
- rvm: 2.6.0
env: "GEM=railties"
sudo: required
before_install:
- "rm ${BUNDLE_GEMFILE}.lock"
- "travis_retry gem update --system"
- "travis_retry gem install bundler"
- "sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/10/main/postgresql.conf"
- "sudo service postgresql restart 10"
- rvm: ruby-head
env: "GEM=railties"
sudo: required
before_install:
- "rm ${BUNDLE_GEMFILE}.lock"
- "travis_retry gem update --system"
- "travis_retry gem install bundler"
- "sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/10/main/postgresql.conf"
- "sudo service postgresql restart 10"
- 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
- rabbitmq-server
before_install:
- sudo sed -i -e '/local.*peer/s/postgres/all/' -e 's/peer\|md5/trust/g' /etc/postgresql/*/main/pg_hba.conf
- "sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/10/main/postgresql.conf"
- "sudo service postgresql restart 10"
- "[ -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
- rabbitmq-server
before_install:
- sudo sed -i -e '/local.*peer/s/postgres/all/' -e 's/peer\|md5/trust/g' /etc/postgresql/*/main/pg_hba.conf
- "sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/10/main/postgresql.conf"
- "sudo service postgresql restart 10"
- "[ -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
- rabbitmq-server
before_install:
- sudo sed -i -e '/local.*peer/s/postgres/all/' -e 's/peer\|md5/trust/g' /etc/postgresql/*/main/pg_hba.conf
- "sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/10/main/postgresql.conf"
- "sudo service postgresql restart 10"
- "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"
sudo: required
before_install:
- "sudo mysql -e \"use mysql; update user set authentication_string='' where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;\""
- "sudo mysql_upgrade"
- "sudo service mysql restart"
- rvm: 2.6.0
env: "GEM=activerecord:mysql2"
sudo: required
before_install:
- "sudo mysql -e \"use mysql; update user set authentication_string='' where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;\""
- "sudo mysql_upgrade"
- "sudo service mysql restart"
- rvm: ruby-head
env: "GEM=activerecord:mysql2"
sudo: required
before_install:
- "sudo mysql -e \"use mysql; update user set authentication_string='' where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;\""
- "sudo mysql_upgrade"
- "sudo service mysql restart"
- 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: 2.5.3
env: "GEM=activerecord:postgresql"
sudo: required
before_install:
- "sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/10/main/postgresql.conf"
- "sudo service postgresql restart 10"
- rvm: 2.6.0
env: "GEM=activerecord:postgresql"
sudo: required
before_install:
- "sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/10/main/postgresql.conf"
- "sudo service postgresql restart 10"
- rvm: ruby-head
env: "GEM=activerecord:postgresql"
sudo: required
before_install:
- "sudo sed -i 's/port = 5433/port = 5432/' /etc/postgresql/10/main/postgresql.conf"
- "sudo service postgresql restart 10"
- rvm: jruby-head
jdk: oraclejdk8
jdk: oraclejdk11
env:
- "GEM=actionpack"
- rvm: jruby-head
jdk: oraclejdk8
jdk: oraclejdk11
env:
- "GEM=actionmailer,activemodel,activejob"
allow_failures: