aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
Commit message (Collapse)AuthorAgeFilesLines
* Remove duplicated before_install entries in .travis.ymlRyuta Kamizono2018-10-011-3/+0
| | | | | | It has incorrectly been re-added at #33079. Related #33861.
* Make Webpacker the default JavaScript compiler for Rails 6 (#33079)David Heinemeier Hansson2018-09-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use Webpacker by default on new apps * Stop including coffee-rails by default * Drop using a js_compressor by default * Drop extra test for coffeescript inclusion by default * Stick with skip_javascript to signify skipping webpack * Don't install a JS runtime by default any more * app/javascript will be the new default directory for JS * Make it clear that this is just for configuring the default Webpack framework setup now * Start using the Webpack tag in the default layout * Irrelevant test * jQuery is long gone * Stop having asset pipeline compile default application.js * Add rails-ujs by default to the Webpack setup * Add Active Storage JavaScript to application.js pack by default * Consistent quoting * Add Turbolinks to default pack * Add Action Cable to default pack Need some work on how to set the global consumer that channels will work with. @javan? * Require all channels by default and use a separate consumer stub * Channel generator now targets Webpack style * Update task docs to match new generator style * Use uniform import style * Drop the JS assets generator It was barely helpful as it was. It’s no longer helpful in a Webpacked world. Sayonara! * Add app/javascript to the stats directories * Simpler import style Which match the other imports. * Address test failures from dropping JS compilation (and compression) * webpacker-default: Modify `AssetsGeneratorTest` Before: ``` $ bin/test test/generators/assets_generator_test.rb Run options: --seed 46201 F Failure: AssetsGeneratorTest#test_assets [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/assets_generator_test.rb:12]: Expected file "app/assets/javascripts/posts.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/assets_generator_test.rb:10 . Finished in 0.031343s, 63.8101 runs/s, 95.7152 assertions/s. 2 runs, 3 assertions, 1 failures, 0 errors, 0 skips ``` After: ``` $ bin/test test/generators/assets_generator_test.rb Run options: --seed 43571 .. Finished in 0.030370s, 65.8545 runs/s, 65.8545 assertions/s. 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips ``` * webpacker-default: Modify `ChannelGeneratorTest` Before: ``` $ bin/test test/generators/channel_generator_test.rb Run options: --seed 8986 .F Failure: ChannelGeneratorTest#test_channel_with_multiple_actions_is_created [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:43]: Expected file "app/assets/javascripts/channels/chat.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:34 .F Failure: ChannelGeneratorTest#test_channel_is_created [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:29]: Expected file "app/assets/javascripts/channels/chat.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:22 E Error: ChannelGeneratorTest#test_cable_js_is_created_if_not_present_already: Errno::ENOENT: No such file or directory @ apply2files - /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/fixtures/tmp/app/assets/javascripts/cable.js bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:60 F Failure: ChannelGeneratorTest#test_channel_suffix_is_not_duplicated [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:87]: Expected file "app/assets/javascripts/channels/chat.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:80 F Failure: ChannelGeneratorTest#test_channel_on_revoke [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:77]: Expected file "app/assets/javascripts/cable.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:68 Finished in 0.064384s, 108.7227 runs/s, 481.4861 assertions/s. 7 runs, 31 assertions, 4 failures, 1 errors, 0 skips ``` After: ``` $ bin/test test/generators/channel_generator_test.rb Run options: --seed 44857 ....... Finished in 0.060243s, 116.1961 runs/s, 697.1764 assertions/s. 7 runs, 42 assertions, 0 failures, 0 errors, 0 skips ``` * Fix shared generator tests. * webpacker-default: Modify `ControllerGeneratorTest` The JS assets generator was dropped. ref. https://github.com/rails/rails/commit/46215b179483d3e4d264555f5a4952f43eb8142a * Revert "Simpler import style". It's currently failing with an error of "TypeError: undefined is not an object (evaluating '__WEBPACK_IMPORTED_MODULE_2_activestorage___default.a.start')". Waiting for @javan to have a look. This reverts commit 5d3ebb71059f635d3756cbda4ab9752027e09256. * require webpacker in test app * Add webpacker without making the build hang/timeout. (#33640) * use yarn workspaces to allow for installing unreleased packages and only generate js/bootsnap when required * no longer need to have webpacker in env templates as webpacker moved this config to yml file * Fix rubocop violation * Got the test passing for the running scaffold * update expected lines of code * update middleware tests to account for webpacker * disable js in plugins be default to get the tests passing (#34009) * clear codeclimate report issues * Anything newer than currently released is good * Use Webpacker development version during development of Rails * Edge should get development webpacker as well * Add changelog entry for Webpacker change
* CI against PostgreSQL 10Yasuo Honda2018-09-181-3/+48
| | | | | | | | | | - Replace port number 5433 to 5432 (default value) which Active Record unit tests expect - Restart PostgreSQL 10 service after changing port number - PostgreSQL 10 is a addon for the current Travis CI. Installing PostgreSQL 10 would cause longer CI to getting additional apt packages Refer https://docs.travis-ci.com/user/database-setup/#PostgreSQL - Use `sudo: required` for railties CI expecting PostgreSQL is up and running
* 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