aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
Commit message (Collapse)AuthorAgeFilesLines
* Enable `sudo` only in the required buildyuuji.yaginuma2018-09-141-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, PostgreSQL + Ruby 2.5.1 build has failed. https://travis-ci.org/rails/rails/jobs/427502723#L2940-L2942 https://travis-ci.org/rails/rails/jobs/427496382#L2921-L2923 https://travis-ci.org/rails/rails/jobs/427470858#L2921-L2923 This is because PostgreSQL server abnormally terminates when ramfs becomes full. Ref: https://travis-ci.org/rails/rails/jobs/427960998#L7614 This occurs since d54d0c95750e2693da495b75ac5fa0280253972d. In d54d0c95750e2693da495b75ac5fa0280253972d, `sudo` is used in preprocessing for setting MySQL. In Travis, even if specified `sudo: false`, when using `sudo` in build, sudo-enabled infrastructure is used. https://docs.travis-ci.com/user/reference/overview/#virtualisation-environment-vs-operating-system As container-based infrastructure was changed to sudo-enabled infrastructure, the disk settings etc were also changed, it seems that this phenomenon occurred. This can also be handled by extending ramfs(https://github.com/travis-ci/travis-ci/issues/9036#issuecomment-357189213). However, using sudo-enabled in all builds affects the execution time of build, so I think that it is good to use sudo-enabled only in the necessary builds.
* Use utf8mb4 character set by default for MySQL database (#33608)Yasuo Honda2018-09-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use utf8mb4 character set by default `utf8mb4` character set supports supplementary characters including emoji. `utf8` character set with 3-Byte encoding is not enough to support them. There was a downside of 4-Byte length character set with MySQL 5.5 and 5.6: "ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes" for Rails string data type which is mapped to varchar(255) type. MySQL 5.7 supports 3072 byte key prefix length by default. * Remove `DEFAULT COLLATE` from Active Record unit test databases There should be no "one size fits all" collation in MySQL 5.7. Let MySQL server choose the default collation for Active Record unit test databases. Users can choose their best collation for their databases by setting `options[:collation]` based on their requirements. * InnoDB FULLTEXT indexes support since MySQL 5.6 it does not have to use MyISAM storage engine whose maximum key length is 1000 bytes. Using MyISAM storag engine with utf8mb4 character set would cause "Specified key was too long; max key length is 1000 bytes" https://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.html * References "10.9.1 The utf8mb4 Character Set (4-Byte UTF-8 Unicode Encoding)" https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-utf8mb4.html "10.9.2 The utf8mb3 Character Set (3-Byte UTF-8 Unicode Encoding)" https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-utf8.html "14.8.1.7 Limits on InnoDB Tables" https://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html > If innodb_large_prefix is enabled (the default), the index key prefix limit is 3072 bytes > for InnoDB tables that use DYNAMIC or COMPRESSED row format. * CI against MySQL 5.7 Followed this instruction and changed root password to empty string. https://docs.travis-ci.com/user/database-setup/#MySQL-57 * The recommended minimum version of MySQL is 5.7.9 to support utf8mb4 character set and `innodb_default_row_format` MySQL 5.7.9 introduces `innodb_default_row_format` to support 3072 byte length index by default. Users do not have to change MySQL database configuration to support Rails string type. https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_default_row_format https://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html > If innodb_large_prefix is enabled (the default), > the index key prefix limit is 3072 bytes for InnoDB tables that use DYNAMIC or COMPRESSED row format. * The recommended minimum version of MariaDB is 10.2.2 MariaDB 10.2.2 is the first version of MariaDB supporting `innodb_default_row_format` Also MariaDB says "MySQL 5.7 is compatible with MariaDB 10.2". - innodb_default_row_format https://mariadb.com/kb/en/library/xtradbinnodb-server-system-variables/#innodb_default_row_format - "MariaDB versus MySQL - Compatibility" https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/ > MySQL 5.7 is compatible with MariaDB 10.2 - "Supported Character Sets and Collations" https://mariadb.com/kb/en/library/supported-character-sets-and-collations/
* Revert "Avoid Node.js v10.4.0 for now"yuuji.yaginuma2018-06-251-1/+1
| | | | | | | This reverts commit 691addbffad10aa249d5fb1b0e47b46a086e5332. Reason: v10.5.0 has been released, and it seems that the issue is fixed. Ref: https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V10.md#10.5.0
* Avoid Node.js v10.4.0 for nowyuuji.yaginuma2018-06-091-1/+1
| | | | | | | If use Node.js v10.4.0, ujs's build will result in an error, so temporarily fix the version to v10.3.0. Ref: https://travis-ci.org/rails/rails/jobs/389960856
* CI against MariaDB 10.3Yasuo Honda2018-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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 ```
* Bump tested versions of Ruby on CIAndrew White2018-03-311-8/+8
|
* Restore full Travis configGeorge Claghorn2018-03-121-1/+76
|
* Fix Azure signed URL generation with newer client libGeorge Claghorn2018-03-121-76/+1
|
* Update ASt test services configGeorge Claghorn2018-03-121-1/+1
|
* Provide an alternative PDF previewer based on PopplerTerence Lee2018-03-061-0/+1
| | | | | | mutool is licensed under the Affero GPL, which has strict distribution requirements. Poppler is licensed under the more liberal GPL, making it a good alternative for those who can't use mutool.
* CI with `jruby-head` compatible with Ruby 2.4.1Yasuo Honda2018-02-211-3/+3
| | | | | | | | | | | | | | | | | | Since #32034 Rails 6 requires Ruby 2.4.1 or higher. Two CI jobs configured with the latest version of`jruby-9.1.15.0` compatibile with Ruby 2.3.3 are getting errors: https://travis-ci.org/rails/rails/jobs/343519339 ``` Bundler could not find compatible versions for gem "ruby": In Gemfile: ruby java rails java was resolved to 6.0.0.alpha, which depends on ruby (>= 2.4.1) java Could not find gem 'ruby (>= 2.4.1)', which is required by gem 'rails', in any of the relevant sources: ```
* Travis: fix that major.minor version doesn't track latest major.minor.tinyJeremy Daer2018-02-181-8/+8
| | | | | So `2.4` would match `2.4.1` (due to an rvm alias) rather than matching the latest `2.4.3` release.
* Rails 6 requires Ruby 2.4.1+Jeremy Daer2018-02-171-15/+8
| | | | | | Skipping over 2.4.0 to sidestep the `"symbol_from_string".to_sym.dup` bug. References #32028
* Rails 6 requires Ruby 2.3+Jeremy Daer2018-02-171-6/+0
|
* Remove support to Ruby 2.2Rafael Mendonça França2018-02-161-2/+1
| | | | Rails 6 will only support Ruby >= 2.3.
* Avoid bundle clean before cachingyuuji.yaginuma2018-02-021-1/+1
| | | | | | | | | I'm not sure cause, but due to the influence of `gem clean`, the expected gem seems not to be installed correctly. In order to avoid a test failure due to this, I fixed that `gem clean` not be executed. Ref: https://github.com/travis-ci/travis-ci/issues/2518#issuecomment-121168856 This is a workaround. If Travis fixes something, please revert this.
* Update to latest rubies (2.2.9, 2.3.8 and 2.4.3) on Travis CI.Josef Šimánek2018-02-011-9/+9
|
* CI against ruby 2.5.0yuuji.yaginuma2017-12-271-1/+8
|
* To use rubygems-2.7.4 on Travis CISHIBATA Hiroshi2017-12-251-1/+1
|
* Relax bundler version on Travis CISHIBATA Hiroshi2017-12-221-1/+1
|
* Temporary disabled using rubygems 2.7.SHIBATA Hiroshi2017-12-221-1/+1
| | | | | RubyGems 2.7 promote bundler-1.16 to default gems. It conflicts Travis environment and user installed bundler.
* Revert "only install ffmpeg and mupdf on activestorage builds"Yasuo Honda2017-12-121-1/+4
| | | | This reverts commit 6ec0ed67d9afcc666ad0424b10e9903f63e60714.
* CI against JRuby 9.1.15.0bogdanvlviv2017-12-081-3/+3
| | | | | JRuby 9.1.15.0 has been released: http://jruby.org/2017/12/07/jruby-9-1-15-0.html
* only install ffmpeg and mupdf on activestorage buildsJoe Francis2017-12-051-4/+1
| | | | These are needed when GEM=ast, thanks @georgeclaghorn
* CI against JRuby 9.1.14.0Koichi ITO2017-11-151-3/+3
| | | | | JRuby 9.1.14.0 has been released and this version is available on Travis CI. http://jruby.org/2017/11/08/jruby-9-1-14-0
* Make sidekiq and resque integration tests work in CIyuuji.yaginuma2017-11-131-0/+4
| | | | | | | | | | Since 8f2490b, the integration test of sidekiq and resque is not working in CI. https://travis-ci.org/rails/rails/jobs/301276197#L2055 https://travis-ci.org/rails/rails/jobs/301276197#L2061 Because 8f2490b removed password from `redis-server`. So must also remove passwords from these tests.
* Action Cable: run Redis tests against a default config without a passwordJeremy Daer2017-11-131-1/+1
| | | | | | | | Simplify our dev testing and CI story since we're also testing against Redis for the Active Support cache store. Directly test whether db, host, password, etc are passed through as config instead of spinning up a Redis server with a password set on it.
* Revert "Merge pull request #31025 from y-yagi/follow_up_31023_part2"Ryuta Kamizono2017-11-031-1/+0
| | | | | | | This reverts commit 6f481e05bb24fe3589ef0f65e97a9b1fa66ae0f7, reversing changes made to 592f790b7693c0a32cd06d5e8201639923a734c5. In favor of #31039.
* Ignore "gem "bundler" cannot be uninstalled because it is a default gem" errorYasuo Honda2017-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | when tested with ruby-head This pull request attempts to ignore the following error when tested with ruby-head which has bundler as a default gem. ```ruby $ rvm @global do gem uninstall bundler --all --ignore-dependencies --executables ERROR: While executing gem ... (Gem::InstallError) gem "bundler" cannot be uninstalled because it is a default gem The command "rvm @global do gem uninstall bundler --all --ignore-dependencies --executables" failed and exited with 1 during . ``` Refer https://travis-ci.org/rails/rails/jobs/295600391 This workaround should be removed once https://github.com/bundler/bundler/issues/6072 is addressed.
* Remove bundler 1.16.0yuuji.yaginuma2017-11-011-0/+1
| | | | | | | | Since 1.16.0 is installed by default, it seems that the newer one will be used even if specify an older version. Ref: https://travis-ci.org/rails/rails/jobs/295553738#L1718 Follow up of #31023
* Avoid bundler 1.16.0 for nowyuuji.yaginuma2017-11-011-1/+1
| | | | | It's causing bug report template tests to fail. https://travis-ci.org/rails/rails/jobs/295520851 This seems an issue of bundler. Ref: https://github.com/bundler/bundler/issues/6072
* PhantomJS is abandoned, replace it with Selenium/Chrome headlessGuillermo Iguaran2017-10-191-1/+1
|
* Preview PDFs and videosGeorge Claghorn2017-09-281-0/+8
|
* Bump Travis to new Ruby releasesMatthew Draper2017-09-151-10/+10
| | | | | Most interesting to us, 2.4.2 and 2.3.5 include the fix for https://bugs.ruby-lang.org/issues/13632
* CI against JRuby 9.1.13.0Koichi ITO2017-09-071-3/+3
| | | | http://jruby.org/2017/09/06/jruby-9-1-13-0.html
* Retry if rubygems misbehaves: it's probably just the networkMatthew Draper2017-09-021-2/+2
|
* Bump PostgreSQL version to the latest version 9.6 at Travis CIYasuo Honda2017-09-011-1/+1
| | | | | Travis CI new default Ubuntu Trusty supports 9.6 https://docs.travis-ci.com/user/database-setup/#Using-a-different-PostgreSQL-Version
* CI with the latest stable(GA) version of MariaDB 10.2Yasuo Honda2017-09-011-1/+1
| | | | | - Travis CI is migrating Ubuntu version to Trusty - MariaDB 10.2 is supported on Ubuntu Trusty
* Encrypt the IRC notification setting, so it's not used on forksMatthew Draper2017-08-171-1/+2
| | | | The value isn't actually secret, so I've kept it as a comment.
* Run Active Storage service tests in CIGeorge Claghorn2017-08-141-3/+1
|
* Run Active Storage tests in CI (#30144)George Claghorn2017-08-101-1/+1
|
* Setup travis to be able to run CI tests against S3David Heinemeier Hansson2017-07-311-0/+2
|
* Allows for other common redis options to be in cable.yml, by defaultMarc Ignacio2017-06-221-5/+1
| | | | | | | | | | | | | | | | | | - Adds RedisAdapterTest::AlternateConfiguration to account for a relatively common alternative setup, as it’s used as the first example in the [Redis rubygem](https://github.com/redis/redis-rb#getting-started) - Supplies original RedisAdapterTest with more complete redis:// url format by adding a ‘userinfo’ (blank user), so that it resembles the alternate configuration - Supplies original EventedRedisAdapterTest with more complete redis:// url as well - Adds before_script to start redis-server with password as a daemon and with explicit defaults copied from the default redis.conf (Instead of using Travis' default init/upstart scripts for `redis` service)
* CI against JRuby 9.1.12.0Koichi ITO2017-06-191-3/+3
| | | | http://jruby.org/2017/06/15/jruby-9-1-12-0.html
* CI against JRuby 9.1.10.0Koichi ITO2017-05-261-3/+3
| | | | http://jruby.org/2017/05/25/jruby-9-1-10-0.html
* Remove rubygems version lockyuuji.yaginuma2017-05-221-1/+1
| | | | | | | This version lock added by 3d890b66c1bfbdcabb7ef66e0774e0f01e2ed5d6. But original issue is fixed with bundler 1.15. Ref: https://github.com/rubygems/rubygems/issues/1911#issuecomment-300148516
* CI against JRuby 9.1.9.0Koichi ITO2017-05-171-3/+3
| | | | http://jruby.org/2017/05/16/jruby-9-1-9-0
* Avoid rubygems 2.6.12 for nowMatthew Draper2017-05-041-1/+1
| | | | | It's causing a test to fail, and we're not yet sure what (if anything) we should be doing differently. See rubygems/rubygems#1911.
* Revert "Merge pull request #27636 from ↵Rafael Mendonça França2017-04-261-3/+0
| | | | | | | | | mtsmfm/disable-referential-integrity-without-superuser-privilege-take-2" This reverts commit c1faca6333abe4b938b98fedc8d1f47b88209ecf, reversing changes made to 8c658a0ecc7f2b5fc015d424baf9edf6f3eb2b0b. See https://github.com/rails/rails/pull/27636#issuecomment-297534129
* Use a query that's compatible with PostgreSQL 9.2Matthew Draper2017-04-121-7/+6
| | | | | | Also, explicitly apply the order: generate_subscripts is unlikely to start returning values out of order, but we should still be clear about what we want.