| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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/
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
```
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:
```
|
|
|
|
|
| |
So `2.4` would match `2.4.1` (due to an rvm alias) rather than matching
the latest `2.4.3` release.
|
|
|
|
|
|
| |
Skipping over 2.4.0 to sidestep the `"symbol_from_string".to_sym.dup` bug.
References #32028
|
| |
|
|
|
|
| |
Rails 6 will only support Ruby >= 2.3.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
RubyGems 2.7 promote bundler-1.16 to default gems.
It conflicts Travis environment and user installed bundler.
|
|
|
|
| |
This reverts commit 6ec0ed67d9afcc666ad0424b10e9903f63e60714.
|
|
|
|
|
| |
JRuby 9.1.15.0 has been released:
http://jruby.org/2017/12/07/jruby-9-1-15-0.html
|
|
|
|
| |
These are needed when GEM=ast, thanks @georgeclaghorn
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This reverts commit 6f481e05bb24fe3589ef0f65e97a9b1fa66ae0f7, reversing
changes made to 592f790b7693c0a32cd06d5e8201639923a734c5.
In favor of #31039.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
| |
Most interesting to us, 2.4.2 and 2.3.5 include the fix for
https://bugs.ruby-lang.org/issues/13632
|
|
|
|
| |
http://jruby.org/2017/09/06/jruby-9-1-13-0.html
|
| |
|
|
|
|
|
| |
Travis CI new default Ubuntu Trusty supports 9.6
https://docs.travis-ci.com/user/database-setup/#Using-a-different-PostgreSQL-Version
|
|
|
|
|
| |
- Travis CI is migrating Ubuntu version to Trusty
- MariaDB 10.2 is supported on Ubuntu Trusty
|
|
|
|
| |
The value isn't actually secret, so I've kept it as a comment.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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)
|
|
|
|
| |
http://jruby.org/2017/06/15/jruby-9-1-12-0.html
|
|
|
|
| |
http://jruby.org/2017/05/25/jruby-9-1-10-0.html
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
http://jruby.org/2017/05/16/jruby-9-1-9-0
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Related #28532, #27636
|