2014-08-27 19:59:16 -04:00
|
|
|
language: ruby
|
2014-12-18 15:09:58 -05:00
|
|
|
sudo: false
|
2016-04-19 03:15:16 -04:00
|
|
|
|
|
|
|
cache:
|
|
|
|
directories:
|
2018-02-01 18:52:02 -05:00
|
|
|
- vendor/bundle
|
2016-04-19 03:15:16 -04:00
|
|
|
- /tmp/cache/unicode_conformance
|
|
|
|
- /tmp/beanstalkd-1.10
|
2017-02-21 13:41:17 -05:00
|
|
|
- node_modules
|
|
|
|
- $HOME/.nvm
|
2016-04-19 03:15:16 -04:00
|
|
|
|
|
|
|
services:
|
|
|
|
- memcached
|
2017-11-13 02:55:06 -05:00
|
|
|
- redis-server
|
2016-04-19 03:15:16 -04:00
|
|
|
|
|
|
|
addons:
|
2017-09-01 13:18:09 -04:00
|
|
|
postgresql: "9.6"
|
2017-10-19 12:01:52 -04:00
|
|
|
chrome: stable
|
2017-09-28 16:43:37 -04:00
|
|
|
apt:
|
|
|
|
sources:
|
|
|
|
- sourceline: "ppa:mc3man/trusty-media"
|
|
|
|
- sourceline: "ppa:ubuntuhandbook1/apps"
|
2017-12-12 10:31:15 -05:00
|
|
|
packages:
|
|
|
|
- ffmpeg
|
|
|
|
- mupdf
|
|
|
|
- mupdf-tools
|
2018-02-05 20:33:35 -05:00
|
|
|
- poppler-utils
|
2016-04-19 03:15:16 -04:00
|
|
|
|
|
|
|
bundler_args: --without test --jobs 3 --retry 3
|
2012-03-09 16:19:55 -05:00
|
|
|
before_install:
|
2015-02-18 11:30:25 -05:00
|
|
|
- "rm ${BUNDLE_GEMFILE}.lock"
|
2017-12-25 05:12:17 -05:00
|
|
|
- "travis_retry gem update --system"
|
2017-12-22 08:21:57 -05:00
|
|
|
- "travis_retry gem install bundler"
|
2016-04-19 03:15:16 -04:00
|
|
|
- "[ -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"
|
2018-03-12 19:00:54 -04:00
|
|
|
- "[[ -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"
|
2018-06-24 20:44:57 -04:00
|
|
|
- "[[ $GEM != 'av:ujs' ]] || nvm install node"
|
2017-02-21 13:41:17 -05:00
|
|
|
- "[[ $GEM != 'av:ujs' ]] || node --version"
|
|
|
|
- "[[ $GEM != 'av:ujs' ]] || (cd actionview && npm install)"
|
|
|
|
|
2014-12-18 15:09:58 -05:00
|
|
|
before_script:
|
2016-05-09 15:42:28 -04:00
|
|
|
# Set Sauce Labs username and access key. Obfuscated, purposefully not encrypted.
|
|
|
|
# Decodes to e.g. `export VARIABLE=VALUE`
|
|
|
|
- $(base64 --decode <<< "ZXhwb3J0IFNBVUNFX0FDQ0VTU19LRVk9YTAzNTM0M2YtZTkyMi00MGIzLWFhM2MtMDZiM2VhNjM1YzQ4")
|
|
|
|
- $(base64 --decode <<< "ZXhwb3J0IFNBVUNFX1VTRVJOQU1FPXJ1YnlvbnJhaWxz")
|
|
|
|
|
2016-04-19 03:15:16 -04:00
|
|
|
script: 'ci/travis.rb'
|
|
|
|
|
2011-07-15 03:48:10 -04:00
|
|
|
env:
|
2018-03-12 23:18:17 -04:00
|
|
|
global:
|
|
|
|
- "JRUBY_OPTS='--dev -J-Xmx1024M'"
|
2014-08-21 09:57:27 -04:00
|
|
|
matrix:
|
2018-03-12 23:18:17 -04:00
|
|
|
- "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"
|
2016-04-19 03:15:16 -04:00
|
|
|
|
2014-10-13 07:42:27 -04:00
|
|
|
rvm:
|
2018-03-31 07:25:09 -04:00
|
|
|
- 2.4.4
|
|
|
|
- 2.5.1
|
2018-03-12 23:18:17 -04:00
|
|
|
- ruby-head
|
|
|
|
|
|
|
|
matrix:
|
|
|
|
include:
|
2018-03-31 07:25:09 -04:00
|
|
|
- rvm: 2.5.1
|
2018-03-12 23:18:17 -04:00
|
|
|
env: "GEM=av:ujs"
|
2018-03-31 07:25:09 -04:00
|
|
|
- rvm: 2.4.4
|
2018-03-12 23:18:17 -04:00
|
|
|
env: "GEM=aj:integration"
|
|
|
|
services:
|
|
|
|
- memcached
|
|
|
|
- redis-server
|
|
|
|
- rabbitmq
|
2018-03-31 07:25:09 -04:00
|
|
|
- rvm: 2.5.1
|
2018-03-12 23:18:17 -04:00
|
|
|
env: "GEM=aj:integration"
|
|
|
|
services:
|
|
|
|
- memcached
|
|
|
|
- redis-server
|
|
|
|
- rabbitmq
|
|
|
|
- rvm: ruby-head
|
|
|
|
env: "GEM=aj:integration"
|
|
|
|
services:
|
|
|
|
- memcached
|
|
|
|
- redis-server
|
|
|
|
- rabbitmq
|
2018-03-31 07:25:09 -04:00
|
|
|
- rvm: 2.5.1
|
2018-03-12 23:18:17 -04:00
|
|
|
env:
|
|
|
|
- "GEM=ar:mysql2 MYSQL=mariadb"
|
|
|
|
addons:
|
CI against MariaDB 10.3
- MariaDB 10.3.7 is the first GA release
https://mariadb.com/kb/en/library/mariadb-1037-release-notes/
- MariaDB 10.3 translates `LENGTH()` to `OCTET_LENGTH()` function
https://mariadb.com/kb/en/library/sql_modeoracle-from-mariadb-103/
> MariaDB translates LENGTH() to OCTET_LENGTH()
- MySQL does NOT translate `LENGTH()` to `OCTET_LENGTH()`
However, it translates `OCTET_LENGTH()` to `LENGTH()`
Here are generated schema dumps of this test to show the differences
between MySQL and MariaDB:
* MySQL 8.0 (Server version: 8.0.11 MySQL Community Server - GPL)
```ruby
create_table \"virtual_columns\", options: \"ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci\", force: :cascade do |t|
t.string \"name\"
t.virtual \"upper_name\", type: :string, as: \"upper(`name`)\"
t.virtual \"name_length\", type: :integer, as: \"length(`name`)\", stored: true
t.virtual \"name_octet_length\", type: :integer, as: \"length(`name`)\", stored: true
end
```
* Maria DB 10.3 (Server version: 10.3.7-MariaDB-1:10.3.7+maria~bionic-log mariadb.org binary distribution)
```ruby
create_table \"virtual_columns\", options: \"ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci\", force: :cascade do |t|
t.string \"name\"
t.virtual \"upper_name\", type: :string, as: \"ucase(`name`)\"
t.virtual \"name_length\", type: :integer, as: \"octet_length(`name`)\", stored: true
t.virtual \"name_octet_length\", type: :integer, as: \"octet_length(`name`)\", stored: true
end
```
2018-05-30 23:35:07 -04:00
|
|
|
mariadb: 10.3
|
2018-03-31 07:25:09 -04:00
|
|
|
- rvm: 2.5.1
|
2018-03-12 23:18:17 -04:00
|
|
|
env:
|
|
|
|
- "GEM=ar:sqlite3_mem"
|
2018-03-31 07:25:09 -04:00
|
|
|
- rvm: 2.5.1
|
2018-03-12 23:18:17 -04:00
|
|
|
env:
|
|
|
|
- "GEM=ar:postgresql POSTGRES=9.2"
|
|
|
|
addons:
|
|
|
|
postgresql: "9.2"
|
|
|
|
- rvm: jruby-head
|
|
|
|
jdk: oraclejdk8
|
|
|
|
env:
|
|
|
|
- "GEM=ap"
|
|
|
|
- rvm: jruby-head
|
|
|
|
jdk: oraclejdk8
|
|
|
|
env:
|
|
|
|
- "GEM=am,amo,aj"
|
|
|
|
allow_failures:
|
|
|
|
- rvm: ruby-head
|
|
|
|
- rvm: jruby-head
|
|
|
|
- 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="
|