Commit Graph

803 Commits

Author SHA1 Message Date
Yasuo Honda
e29db960b2 Lock redis version to v4 until #45913 is resolved
Refer to https://github.com/rails/rails/issues/45913
https://github.com/redis/redis-rb/issues/1142
2022-08-31 15:42:21 +09:00
Yasuo Honda
a4c4ee1b11 Lock que version to v1 until #45899 is resolved
Refer to https://github.com/rails/rails/issues/45899

https://github.com/rails/rails/issues/45899
2022-08-29 14:49:12 +09:00
Yusuke Endoh
3beb2aff3b Use error_highlight gem to locate the columns where an error was raised
This change incorporates to Rails a feature called error_highlight that
has been available since Ruby 3.1. This allow Rails' error report screen
to display the fine-grained location where an error occurred (not only a
line number but also beginning and end column numbers of the code
fragment).

For ErrorHighlight, see https://bugs.ruby-lang.org/issues/17930 in
detail.

To use error_highlight, ExceptionWrapper now prefers
`Exception#backtrace_locations` (since Ruby 2.1), which returns an array
of `Thread::Backtrace::Location`s, instead of `Exception#backtrace`.
This is because error_highlight requires `Thread::Backtrace::Location`
to locate the column where an error was raised.

Co-Authored-By: John Hawthorn <john@hawthorn.email>
Co-Authored-By: Jean Boussier <jean.boussier@gmail.com>
2022-08-24 00:28:50 +09:00
Jean Boussier
7587b7e99a Action Cable redis-rb 5+ compatibility
- Pass configuration as symbols
- Stop messing with the raw client
2022-08-22 09:01:27 +02:00
Jean Boussier
f2ab66da73 Stop testing hiredis
The driver being used is an implementation detail of `redis-rb`.
If somehow something break on one driver but not the other, it should
be reported to redis-rb and fixed there.

Also `redis-rb` `5.0` has a totally new client and hiredis binding
so all this code no longer works with redis-rb 5.0.
2022-08-22 09:01:27 +02:00
Eileen M. Uchitelle
914ac17156
Merge pull request #45539 from geongeorge/feature/updates-guide-generation-epub
Feature/updates guide generation - EPUB
2022-08-04 15:03:56 -04:00
Geon George
56e96d9344 Replaces mobi guide with epub for docs because of discontinued support
Removes kindlerb logic

Adds template for epub generator

Renames the kindle dir to /epub

Adds epub module to generator and replaces kindle

Fixes mimetype

Creates basic epub book

Deletes old kindle module

Adds zip package

Updates rubyzip gem name

Removes now unused gepub gem

Adds the required container file for epubs

Fixes media type

Adds new epub generation logic

Removes all buttons from output html

Refactors and generates valid epub files

Removes frontmatter logic used for kindlegen

Filters out epub files in zip

Updates link to kindle doc on sidebar

Fixes rubocop issues

Adds deprecation warning for the old kindle task

Refactors and cleans up epub module

Cleans up epub code

Cleans up private internal method code style

Removes unnecessary imagemagick check
2022-08-05 00:18:20 +05:30
Étienne Barrié
889886d6ad Allow rack-test >= 2 2022-07-06 14:54:39 +02:00
Yasuo Honda
767c8391f7 Lock rack-test version to v1 until #45467 is resolved
Action Pack CI has been failing since rack-test v2.0.0.
Refer to https://github.com/rails/rails/pull/45177
2022-06-28 09:46:39 +09:00
eileencodes
9766eb4a83
Fix tests for minitest 5.16
In minitest/minitest@6e06ac9 minitest changed such that it now accepts
`kwargs` instead of requiring kwargs to be shoved into the args array.
This is a good change but required some updates to our test code to get
the new version of minitest passing.

Changes are as follows:

1) Lock minitest to 5.15 for Ruby 2.7. We don't love this change but
it's pretty difficult to get 2.7 and 3.0 to play nicely together with
the new kwargs changes. Dropping 2.7 support isn't an option right
now for Rails. This is safe because all of the code changes here are
internal methods to Rails like assert_called_with. Applications
shouldn't be consuming them as they are no-doc'd.
2) Update the `assert_called_with` method to take any kwargs but also
the returns kwarg.
3) Update callers of `assert_called_with` to move the kwargs outside the
args array.
4) Update the message from marshaled exceptions. In 5.16 the exception
message is "result not reported" instead of "Wrapped undumpable
exception".

Co-authored-by: Matthew Draper <matthew@trebex.net>
2022-06-23 08:32:11 -04:00
eileencodes
7f93661551
Lock minitest for now
CI runs bundle update so minitest got updated and my PR started failing
due to this change 6e06ac9d3e

I will relax the minitest requirement once the failing specs can be
fixed, but I don't want that to block this. It wasn't immediately
obvious to me what needs to change in our tests to get them passing.
There is also an open issue here
https://github.com/minitest/minitest/issues/912 regarding this change.
2022-06-15 12:24:41 -04:00
Yasuo Honda
133fe10083 Use queue_classic 4.0.0
Refer to https://github.com/QueueClassic/queue_classic/pull/339
2022-05-18 14:04:43 +09:00
Petrik
55073ac10f Use the CSS badge for the API docs as well
Sdoc 2.4.0 supports a CSS badge that can be set by passing the version
as the HORO_BADGE_VERSION env variable.

The old badge image can be removed, as it no longer needs to be copied
by the docs server: https://github.com/rails/rails-docs-server/pull/28
2022-05-10 21:05:59 +02:00
Jean Boussier
d7ac149f5f Use mysql2 0.5.4 2022-05-04 13:21:24 +02:00
Petrik
dc9c7cf1fa Update sdoc to 2.3.2 to support latest rdoc 2022-04-22 10:04:34 +02:00
Yasuo Honda
75d104fbb0 Use blade 0.7.3 to support Ruby 3.2
blade 0.7.3 includes https://github.com/javan/blade/pull/12

Related to https://github.com/rails/rails/pull/44152
18e3226c9b
2022-04-13 08:31:38 +09:00
Matthew Draper
e0edc1aa1d Switch from fork to queue_classic beta release 2022-02-27 22:55:41 +10:30
Ghouse Mohamed
715f117ac9 Bumps rubocop version to 1.25.1 2022-02-23 21:18:33 +05:30
Petrik
569d4ed196 Upgrade to sdoc 2.3.1
Fixes the following error in Firefox/Linux:

    Ctrl-C broken (Uncaught TypeError: $.browser is undefined)
2022-02-14 19:36:22 +01:00
Yasuo Honda
65f350e176 Released version of rbtree 0.4.5 supports Ruby 3.2.0dev
https://github.com/mame/rbtree is mirror of rbtree gem
and rbtree 0.4.5 has been released to support Ruby 3.2.0dev.
https://rubygems.org/gems/rbtree/versions/0.4.5

Related to https://github.com/rails/rails/pull/44152
2022-02-07 13:00:58 +09:00
Yasuo Honda
cc86e13fc9 Use released version of pg 1.3
pg 1.3.0 which supports Ruby 3.2.0dev has been released.
https://rubygems.org/gems/pg/versions/1.3.0

Follow up #44007
2022-01-25 21:15:48 +09:00
Jean Boussier
18e3226c9b Point blade to the official repository 2022-01-12 14:52:41 +01:00
Jean Boussier
c2da0add54 Fork rbtree and blade to fix ruby-head CI
They both need very minor fixes.
2022-01-12 11:07:28 +01:00
Yasuo Honda
f1f3ef5f90 Use pg gem 1.3.0.rc1 to support Ruby 3.2
Ruby 3.2.0dev removed `rb_cData`, `pg` gem cannot be installed with Ruby 3.2.0dev.

Refer Rails CI build failure at:
https://buildkite.com/rails/rails/builds/83631#fbe41b47-08d3-4b4a-8f17-692da1ab1ddf

This fix has been released as `1.3.0.rc1`

Refer:
https://github.com/ged/ruby-pg/issues/413
7c738ce5e6
2022-01-06 14:53:38 +09:00
Rafael Mendonça França
b65a3054e6
Merge pull request #44083 from rails/rm-temporary-mail-fix
Temporarily add net-gems as dependencies of frameworks that use mail
2022-01-05 18:42:47 -05:00
Petrik
199b66027b Update sdoc to 2.3.0
With the migration of SDoc to a frameless layout, the URLs to assets
were made absolute instead of relative because of Turbolinks asset
tracking.  But absolute URLs fail when we have multiple versions of the
docs in subdirectories like: https://api.rubyonrails.org/v6.1/

This version of sdoc restores relative URLs by disabling the Turbolinks
asset tracking.

Fixes #44042
2022-01-05 22:55:21 +01:00
Rafael Mendonça França
5dd292f551
Temporarily add net-gems as dependencies of frameworks that use mail
In Ruby 3.1 those gems were dropped from the stdlib, so they need to be
explicitly installed. Mail should be doing this for us, but since it
cares about Ruby < 2.6, and those gems can't be installed there, they
can't add them to the gemspec without dropping support to old rubies.

Since we don't care about Ruby < 2.7, we can just require them in all
frameworks that use mail.
2022-01-05 17:42:40 +00:00
Rafael Mendonça França
55765121ad
Update development dependencies 2022-01-04 23:48:41 +00:00
Yasuo Honda
417ec15f5d Ruby 3.1.0 installs digest 3.1.0 as standard library
No need to add digest gem explicitly anymore.

Refer:
https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/

> Standard libraries updates
> The following default gem are updated.
> digest 3.1.0

This commit is kind of reverting these pull requests.

https://github.com/rails/rails/pull/42902
https://github.com/rails/rails/pull/43424
https://github.com/rails/rails/pull/43433
2021-12-26 11:07:46 +09:00
Rafael Mendonça França
0afa65723a
Make sure test pass with minitest 5.15 2021-12-15 21:20:38 +00:00
Rafael Mendonça França
1d08b63e5b
Upgrade capybara to work with Ruby 3.1 and earlier 2021-12-08 21:44:11 +00:00
Ryuta Kamizono
dd855fd0b4 Rails 7.0 requires selenium-webdriver >= 4.0.0
New Rails 7.0 generator produces a Gemfile with "selenium-webdriver",
">= 4.0.0" to support Ruby 3.0 (#43270), and latest webdrivers 5.0.0
requires selenium-webdriver ~ 4.0.

https://rubygems.org/gems/webdrivers/versions/5.0.0

It is time to drop selenium-webdriver 3.x support for Rails 7.0.
2021-10-20 22:48:05 +09:00
Yasuo Honda
6261c42a74 No need to specify webdrivers version to support selenium-webdriver 4.0.0
`webdrivers` 4.7.0 has been released including https://github.com/titusfortner/webdrivers/pull/218
which supports selenium-webdriver 4.0.0

Refer
https://github.com/titusfortner/webdrivers/blob/main/CHANGELOG.md#470-2021-10-14

Related to #43456
2021-10-15 08:45:31 +09:00
Rafael Mendonça França
0535f85aff
Require Dalli 3 in our test suite
The code itself still works with Dailli 2, but we are now only testing
against Dalli 3.
2021-10-14 17:49:49 +00:00
Yasuo Honda
d2033eb03a Use webdriver 4.6.1 or higher to support selenium-webdriver 4.0.0
This pull request forces bundler to use webdriver 4.6.1 or higher
to workaround #43455 until titusfortner/webdrivers#218 is merged and
released.

Fix #43455
https://github.com/titusfortner/webdrivers/pull/218
2021-10-14 13:59:00 +09:00
Yasuo Honda
146308f979 Bump required digest version to 3.1.0.pre for Ruby 3.1
This commit addresses these failures.

- `bundle install` failure

```ruby
$ bundle install
Fetching gem metadata from https://rubygems.org/.........
Could not find gem 'digest (~> 3.0.1.pre)' in rubygems repository https://rubygems.org/ or installed locally.
The source contains the following versions of 'digest': 1.0.0, 3.0.0, 3.1.0.pre0, 3.1.0.pre1, 3.1.0.pre2, 3.1.0.pre2 java
$
```

* Action Mailbox bug report template failures

```ruby
$ cd guides/bug_report_templates
$ ruby -v
ruby 3.1.0dev (2021-10-12T11:53:18Z master 58ae1efb49) [x86_64-linux]
$ ruby action_mailbox_main.rb
Fetching gem metadata from https://rubygems.org/......
/home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/resolver.rb:278:in `block in verify_gemfile_dependencies_are_found!': Could not find gem 'digest (~> 3.0.1.pre)' in rubygems repository https://rubygems.org/ or installed locally. (Bundler::GemNotFound)
The source contains the following versions of 'digest': 1.0.0, 3.0.0, 3.1.0.pre0, 3.1.0.pre1, 3.1.0.pre2, 3.1.0.pre2 java
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/resolver.rb:253:in `each'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/resolver.rb:253:in `verify_gemfile_dependencies_are_found!'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/resolver.rb:50:in `start'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/resolver.rb:23:in `resolve'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/definition.rb:267:in `resolve'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/definition.rb:183:in `resolve_remotely!'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/installer.rb:280:in `resolve_if_needed'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/installer.rb:82:in `block in run'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/process_lock.rb:12:in `block in lock'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/process_lock.rb:9:in `open'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/process_lock.rb:9:in `lock'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/installer.rb:71:in `run'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/installer.rb:23:in `install'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/inline.rb:63:in `block (2 levels) in gemfile'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/settings.rb:131:in `temporary'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/inline.rb:62:in `block in gemfile'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/settings.rb:131:in `temporary'
  from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/inline.rb:55:in `gemfile'
  from action_mailbox_main.rb:5:in `<main>'
$
```

Refer e94bcda025
2021-10-12 22:41:22 +09:00
David Heinemeier Hansson
fb1ab3460a
Make Sprockets more optional, offer Propshaft as alternative (#43261)
* Make Sprockets more optional, offer Propshaft as alternative

* Whups, local reference

* No longer used

* Spacing

* Need explicit sprockets-rails inclusion now

* Manually require the sprockets railtie

* Don't need these changes right now

* Kick off another build

* Fix tests

* DRY up test

* Require railtie when using sprockets

* Introduce option to skip asset pipeline

* No longer relevant

* Always have to return

* Gone

* Add helper for skip_sprockets?

* Fix guard statement

* Use latest gems

* Include propshaft

* fix tests for #43261 (#43277)

* help fix tests for #43261

skip_sprockets? should not be called on options

:skip_sprockets is no longer a value in the option hash, so
skip_sprockets? should not be called on it

move --asset-pipeline to shared generator

skip_sprockets? is defined on app_base, and used in the plugin
generator to determine whether to add the engine's assets to the dummy
sprockets manifest, so I believe it makes sense to include in both
generators

Because of this change, I also changed the shared test back to testing
against non-sprockets

add skip_sprockets to Gemfile template vars

Mocking skip_sprockets? in app_base generator

fix more generator tests

* use skip_sprockets? everywhere

* Use latest propshaft

* Update `AssetUrlHelper` docs to list both asset pipeline gems (#43328)

* Update to latest Propshaft

* Bump Propshaft again

* Ask for latest

* Use latest propshaft

Co-authored-by: Hartley McGuire <skipkayhil@gmail.com>
Co-authored-by: Richard Macklin <1863540+rmacklin@users.noreply.github.com>
2021-10-09 17:03:05 +02:00
John Hawthorn
e47a49ffdf Use queue_classic branch which works on psql 14
This fixes the failing CI for ActiveJob.

This uses my fork, we can switch back when the following PR is merged:

    https://github.com/QueueClassic/queue_classic/pull/334
2021-10-04 14:38:56 -07:00
David Heinemeier Hansson
780753f571 Use debug 1.1+ for the debugger + log quieting 2021-09-20 15:18:30 +02:00
Xavier Noria
7ffe204a08 Upgrade debug to 1.0.0 2021-09-08 20:33:22 +02:00
Xavier Noria
89801b2a43 Depend on ruby/debug, replacing Byebug
ruby/debug is a new debugger that is going to ship with CRuby.

It makes sense for Rails to switch to this one because that is
where the language is heading, and because Byebug is not fully
compatible with Zeitwerk. See

    https://github.com/deivid-rodriguez/byebug/issues/564

While ruby/debug has not been heavily tested with Zeitwerk,
casual usage seems to suggest it works without issues, including
explicit namespaces, which is where Byebug and Zeitwerk conflict.

Byebug is terrific, thanks a lot for all these years. ❤️
2021-09-08 17:35:41 +02:00
David Heinemeier Hansson
83808166e6
Add --css app generator option (#43177)
* Add --css to preconfigure a CSS bundler/processor

* Simpler conditional

* Add CSS gems

* Test CSS options
2021-09-07 17:48:13 +02:00
David Heinemeier Hansson
7595c922a6
Use the combined jsbundling-rails gem instead of individual js bundler gems (#43172)
* Use the combined jsbundling-rails gem instead of individual js bundler gems

* Remove Webpacker remnants

* Replace webpacker with jsbundling-rails
2021-09-06 16:44:44 +02:00
David Heinemeier Hansson
d5b9618da1
Remove default reliance on Sass and CSS generators (#43110)
* No benefit to having actiontext css as scss

* Update test

* Update docs

* No more css assets to be generated

New world, new CSS frameworks, new needs.

* SCSS is becoming optional

* Remove Sass as a default-on setting

But continue to make it easy to add.

* Update docs

* No longer used

* Update tests

* Update docs

* Update docs

* No longer used

* No longer by default

* Fix tests

* Promote Tailwind CSS as an alternative to Sass

* Fix test and copy task

* Update railties/lib/rails/generators/rails/app/templates/Gemfile.tt

Co-authored-by: Kevin Newton <kddnewton@gmail.com>

Co-authored-by: Kevin Newton <kddnewton@gmail.com>
2021-08-26 13:40:25 +02:00
David Heinemeier Hansson
af7428c4ac
Replace webpack with importmapped Hotwire as default js (#42999)
* Turbolinks is being replaced with Hotwire

* Make --webpack opt-in

* Don't use specific webpacker installers any more in preparation for next Webpacker

* Update railties/lib/rails/app_updater.rb

Co-authored-by: Alex Ghiculescu <alex@tanda.co>

* Trailing whitespace

* Convert to Turbo data attribute for tracking

* Default is no webpack, no hotwire

* Swap out turbolinks references for hotwire

* Drop explicit return

* Only generate package.json if using webpack

* Only create package.json in webpack mode

* Only create app/javascript in webpack mode

* Generate correct style/js links based on js mode

* Fix tests from changed output format

Not sure why these are showing up in this PR, though.

* Rubocopping

* Stick with webpack for the test app for now

* Adjust tests

* Replace minitest-reporters with minitest-ci (#43016)

minitest-reporters is used to create junit xml reports on CI.

But when it loads before rails minitest plugin makes
`Rails::TestUnitReporter` not being added as a reporter.

minitest-ci is now only loaded at ci and does not interferes with
rails minitest plugins. And keeps junit reports workings

* Too heavy handed to actually run bundle

Just like we don't auto-migrate

* Pin js frameworks in importmap

Instead of having importmap preconfigure it.

* Match updated app/javascript path

* No need for the explaining comment

* Fixes test cases for replace webpack with importmapped Hotwire as default js (#42999)

* Fix rubocop issues

* Fix more railities test cases

* Fix plugin generator railties shared test cases

* Fix Action Text install generator asset pipeline spec

* They're modules, not files

* Let dev use the latest release as well

So we don't have to replace unexisting dev releases with latest release

* Make Webpack responsible for generating all the JS files it needs

Webpacker 6 has already moved from app/javascript to app/packs.

* Don't add rails/ujs by default any longer

All the ajax/form functionality has been superseded by Turbo. The rest lives in a weird inbetween land we need to address through other means.

* Use new importmap location

* Switch to using turbo-rails and stimulus-rails directly

The hotwire-rails gem does not offer enough value for its indirection

* Use latest Webpacker

* Prevent version resolution requests from getting swallowed

* Use ESM syntax for imports

* Move management of yarn, package.json, etc to Webpacker 6

* Update for Webpacker 6

* Move bin/setup addition to Webpacker as well

* Remove dead tests

* Bump to Webpacker 6.0.0.rc.2

* No longer relevant given the new default is no webpacker

* Rely on Webpacker 6

* No longer relevant

* No longer relevant

* Make cable channel generator work for both webpacker and importmap setups

* Fix tests

* For tests testing importmap way

* Use Webpacker 6 dummy

* RuboCopping

* One more bump to fix webpack-dev-server

* Another bump. Hopefully the last one!

* Also enough to not want turbo tracking on

* Fix tests

* Latest

* Fix tests

* Fix more tests

* Fix tests

Co-authored-by: Alex Ghiculescu <alex@tanda.co>
Co-authored-by: André Luis Leal Cardoso Junior <andrehjr@gmail.com>
Co-authored-by: Abhay Nikam <nikam.abhay1@gmail.com>
Co-authored-by: Guillermo Iguaran <guilleiguaran@gmail.com>
2021-08-26 10:39:36 +02:00
Petrik
0920b02c1d Upgrade azure-storage-blob to use at least 2.0.0
azure-storage-blob 1.1.0 supports ruby 1.9.3 to 2.5:
https://github.com/Azure/azure-storage-ruby/blob/v1.1.0-common/common/README.md

azure-storage-blob 2.0.0 supports ruby 2.3 to 2.7:
https://github.com/Azure/azure-storage-ruby/blob/v2.0.0-blob/common/README.md
2021-08-23 22:03:15 +02:00
Koichi ITO
65af100ddd Tweak unreachable assertion tests in the block of assert_raises
I found an unexpected use of assertion in the block of `assert_raise`
when I implemented https://github.com/rubocop/rubocop-minitest/pull/137.
It is expected to be asserted after an exception is raised in
`assert_raise` block, but in actually it is not asserted after an
exception is raised. Therefore, this PR removes or updates assertions
that have not been asserted after an exception has raised.

This PR will add `rubocop-minitest` and enable
`Minitest/UnreachableAssertion` cop to able similar auto-detection,
but will remove `rubocop-minitest` from this PR if you don't like it.
2021-08-17 20:33:08 +09:00
Yasuo Honda
8de3093b65 Address bundle exec blade build failure with ruby 3.1.0dev
This commit addresses the CI failures with ruby 3.1.0dev.
https://buildkite.com/rails/rails/builds/79716#ef77b273-93d2-4372-a7fc-165dca6cadef
since Ruby ruby 3.1.0dev bumps the digest gem version to 3.0.1.pre
478f0ddb5f

- Without this commit
```ruby
$ ruby -v
ruby 3.1.0dev (2021-07-29T03:51:10Z master 64adeeadaa) [x86_64-linux]
$ bundle exec blade build
bundler: failed to load command: blade (/home/yahonda/.rbenv/versions/3.1.0-dev/bin/blade)
/home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/runtime.rb:300:in `check_for_activated_spec!': You have already activated digest 3.0.1.pre, but your Gemfile requires digest 3.0.0. Since digest is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports digest as a default gem. (Gem::LoadError)
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/runtime.rb:29:in `block in setup'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/spec_set.rb:158:in `each'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/spec_set.rb:158:in `each'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/runtime.rb:24:in `map'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/runtime.rb:24:in `setup'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler.rb:149:in `setup'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/setup.rb:10:in `block in <top (required)>'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/ui/shell.rb:136:in `with_level'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/ui/shell.rb:88:in `silence'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/setup.rb:10:in `<top (required)>'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli/exec.rb:61:in `require_relative'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli/exec.rb:61:in `kernel_load'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli/exec.rb:28:in `run'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli.rb:481:in `exec'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli.rb:31:in `dispatch'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli.rb:25:in `start'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/gems/3.1.0/gems/bundler-2.3.0.dev/libexec/bundle:49:in `block in <top (required)>'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/friendly_errors.rb:128:in `with_friendly_errors'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/gems/3.1.0/gems/bundler-2.3.0.dev/libexec/bundle:37:in `<top (required)>'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/bin/bundle:23:in `load'
	from /home/yahonda/.rbenv/versions/3.1.0-dev/bin/bundle:23:in `<main>'
$
```

- With this commit
```ruby
$ bundle exec blade build
Building assets…
$
```
2021-07-29 13:44:41 +09:00
Hartley McGuire
bcb300dccb Replace uglifier with terser in dummy applications
Terser is more up to date with modern javascript features, and the
uglifier gem repository recommends using it for minifying ES6+.

Followup for 955041b
2021-06-28 00:48:56 -04:00
Alex Ghiculescu
2934c54dfd Output UJs test failures in CI 2021-06-17 16:51:37 -05:00
Jean Boussier
48f2f1aa07 Add net-smtp, net-pop, net-imap and matrix to the Gemfile to fix the ruby-head build
They were recently removed from Ruby's default gems.

Ref: https://bugs.ruby-lang.org/issues/17873
Ref: https://github.com/mikel/mail/pull/1439
Ref: https://github.com/teamcapybara/capybara/pull/2468
2021-05-28 11:57:32 +02:00
Ryuta Kamizono
153a78dee0 Revert "Lock benchmark-ips version "< 2.9.0""
This reverts commit b63e1477eaccfa6416db4f09bb82880ecb0797d1.
2021-05-25 06:13:09 +09:00
Ryuta Kamizono
b63e1477ea Lock benchmark-ips version "< 2.9.0"
Accidentally benchmark-ips 2.9.0 doesn't contain
"lib/benchmark/ips/noop_suite.rb".

https://buildkite.com/rails/rails/builds/77608#ba2b5c32-d02c-4dc4-9c48-f731b513f883/2031-2080
2021-05-23 06:03:04 +09:00
Petrik
b00c38cc41 Upgrade sdoc to 2.2.0
Sdoc 2.2.0 has improved accessibility and bug fixes.

Changelog:

* #161 Add 'skip to content' link and improve shortcut keys
* #170 Fix link hovers in headings
* #169 Fix clearing search results
* #167 Update Merge script to work with sdoc v2
* #160 Remove outline from reset stylesheet
* #159 Remove TAB override in panel
* #157 Move to GitHub action for tests
* #155 Fix Ctrl+C copying Jan Schär
2021-05-21 10:06:22 +02:00
Yasuo Honda
06d5997b78 Revert "Merge pull request #42088 from yahonda/use_beaneater10"
This reverts commit 0184a019353fa862c37ae61308e62e4e702c347f, reversing
changes made to ed8667df5cd4d4026d803b59e6a8f1af910ae3e3.
2021-04-28 11:47:51 +09:00
Yasuo Honda
b0ce854e68 Use beaneater 1.0.0 to workardound ArgumentError: wrong number of arguments error
This commit addresses Rails CI `ArgumentError: wrong number of arguments (given 2, expected 1)`
errors at https://buildkite.com/rails/rails/builds/76966#8aea460d-a196-4a38-a7dc-b41af5187d9a/1485-1518
by locking `beaneater` version to 1.0.0. Because `backburner` gem depends on `beaneater`.
and `beaneater` 1.1.0 has been released which triggers this error.

- Errors are reported at Rails CI
https://buildkite.com/rails/rails/builds/76966#8aea460d-a196-4a38-a7dc-b41af5187d9a/1485-1518

- Steps to reproduce
```
git clone https://github.com/rails/rails
cd rails
rm Gemfile.lock
bundle install
cd activejob
bundle exec rake test:integration:backburner
```

- Expected behavior
It should pass

- Actual behavior
ArgumentError: wrong number of arguments (given 2, expected 1)

This workaround can be removed newer versions of `beaneater` released
including this pull request or similar fix.
https://github.com/beanstalkd/beaneater/pull/80
2021-04-27 22:38:36 +09:00
Petrik
85c20074f0 Upgrade sdoc to 2.1.0
Sdoc 2.1.0 works better on mobile and has improvements for SEO and
Lighthouse.

Changelog:
* #154 Make panel responsive for mobile.
* #153 Add viewport metatag to views for improved Lighthouse score.
* #150 Use semantic headers for better SEO.
2021-03-31 12:51:01 +02:00
Kasper Timm Hansen
a822923fd5
Merge pull request #41550 from p8/sdoc-2.0.4
Update SDOC to 2.0.4
2021-02-25 18:37:04 +01:00
Petrik
0dfb6a606a Update SDOC to 2.0.4
This version has two layout fixes:
* Using HTML5 doctype accross all HTML files. @MikeRogers0
* Fix overflow CSS property of panel elements. @cveneziani
2021-02-25 17:47:30 +01:00
Ryuta Kamizono
2994c4ba00 Use released redis-namespace instead of master branch
https://rubygems.org/gems/redis-namespace/versions/1.8.1
2021-02-22 18:49:24 +09:00
Ryuta Kamizono
858b57574c Avoid nokogiri v1.11.0 to make our CI green
https://buildkite.com/rails/rails/builds/73847#8a8b56c0-ebdf-4a34-8072-62b688412970/986-995

I think it is definitely an issue for nokogiri, so I'll avoid the
version to make our CI green.
2021-01-05 21:59:37 +09:00
Rafael Mendonça França
03156c829d
Support selenium-webdriver 4
* Use public API to add argument to the selenium driver.

  While `args` is also public API it doesn't know how to handle if no
  argument is being set yet in Selenium 4.

* Fix assertions to match return on Selenium 4
2020-12-29 02:36:01 +00:00
Yasuo Honda
3bfeb2b186 Ruby 3 does not have webrick by default
Railties CI against Ruby 3.0.0-dev has been failing
since https://buildkite.com/rails/rails/builds/73338#51165eef-b631-4f9c-8e98-fc210e71e6d1

This pull request addresses the following error.

```ruby
$ ruby -v
ruby 3.0.0dev (2020-12-13T04:39:57Z master c7530f0d56) [x86_64-linux]
$ ruby -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/commands/server_test.rb
... snip ...
Run options: --seed 54404

.E

Error:
Rails::Command::ServerCommandTest#test_served_url:
LoadError: cannot load such file -- webrick
    test/commands/server_test.rb:292:in `test_served_url'

rails test test/commands/server_test.rb:289

........................

Finished in 0.303746s, 85.5977 runs/s, 177.7799 assertions/s.
26 runs, 54 assertions, 0 failures, 1 errors, 0 skips
$
```

Related to
https://github.com/ruby/ruby/pull/3729
https://bugs.ruby-lang.org/issues/17303
2020-12-13 16:50:20 +09:00
Petrik
4860a6ee42 Update sdoc to latest version
This fixes the title tag on the index page.
2020-12-11 12:46:08 +01:00
Dan Puttick
e87e6700ce Move unused build gems from ActionCable group
- blade and sprockets-export are only used by ActionView
- blade-sauce_labs_plugin is no longer used, removed in #34440
2020-11-26 18:58:17 -05:00
Jonathan Hefner
9e16bb274a Update listen gem to v3.3
Version 3.3 fixes memory leaks that occur when stopping individual
listeners (see guard/listen#476).
2020-11-10 10:06:48 -06:00
Petrik
f9ae061bfd Use official sdoc gem instead of fork [skip ci] 2020-11-02 20:58:37 +01:00
Petrik
edff55987a Replace frames-based api docs with css implementation and Turbolinks
The current Rails documentation has a frames based implementation. This
prevents deep linking to documentation and removes navigation if the page
is opened without frames.

We can keep the same layout with a css based implementation.

Turbolinks is used to persisted the navigation/search bar across
requests.
2020-10-16 12:24:09 +02:00
Rafael Mendonça França
f624ed09ab
Don't make rexml an dependency of activesupport
rexml is only used in the xml_mini backend and it should be the users
choice if they want to use that feature or not. If they do we will warn
them that installing rexml is needed like we do with all backends.
2020-09-24 22:41:04 +00:00
Ryuta Kamizono
c23533ee0b rexml is no longer default gem in Ruby 3.0
https://bugs.ruby-lang.org/issues/16485
https://github.com/ruby/ruby/pull/2832

Unless adding `s.add_dependency "rexml"` in the gemspec,
`ActiveSupport::XmlMini` with default engine (REXML) won't work.

```ruby
# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
  source "https://rubygems.org"

  git_source(:github) { |repo| "https://github.com/#{repo}.git" }

  gem "activesupport", github: "rails/rails"
end

require "active_support"
require "active_support/xml_mini"
require "minitest/autorun"

class BugTest < Minitest::Test
  def test_stuff
    xml_string = "<root></root>"
    assert_equal({ "root" => {} }, ActiveSupport::XmlMini.parse(xml_string))
  end
end
```

```
% ruby xml_mini.rb
Fetching gem metadata from https://rubygems.org/.......
Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/............
Resolving dependencies...
Using bundler 2.2.0.dev
Using concurrent-ruby 1.1.7
Using minitest 5.14.2
Using zeitwerk 2.4.0
Using i18n 1.8.5
Using tzinfo 2.0.2
Using activesupport 6.1.0.alpha from source at `..`
Run options: --seed 20428

# Running:

E

Finished in 0.002034s, 491.6421 runs/s, 0.0000 assertions/s.

  1) Error:
BugTest#test_stuff:
LoadError: cannot load such file -- rexml/document
    /Users/kamipo/src/github.com/rails/rails/activesupport/lib/active_support/xml_mini/rexml.rb:28:in `require'
    /Users/kamipo/src/github.com/rails/rails/activesupport/lib/active_support/xml_mini/rexml.rb:28:in `block in parse'
    /Users/kamipo/src/github.com/rails/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:15:in `block in silence_warnings'
    /Users/kamipo/src/github.com/rails/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:28:in `with_warnings'
    /Users/kamipo/src/github.com/rails/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:15:in `silence_warnings'
    /Users/kamipo/src/github.com/rails/rails/activesupport/lib/active_support/xml_mini/rexml.rb:28:in `parse'
    /Users/kamipo/src/github.com/rails/rails/activesupport/lib/active_support/xml_mini.rb:94:in `parse'
    xml_mini.rb:23:in `test_stuff'

1 runs, 0 assertions, 0 failures, 1 errors, 0 skips
```

Follow up of 0399be70766d7c6bf46d727ef2e337ff40f242b4.
2020-09-24 16:07:16 +09:00
Ryuta Kamizono
94ea7281b8 Use master branch for listen and redis-namespace
To fix CI build in Ruby 3.0 for the time being.
2020-09-24 15:24:26 +09:00
Rafael Mendonça França
5ec51b9577
Use mysql2 from git to fix warnings with Ruby 2.7
Closes #40272.
2020-09-22 19:49:12 +00:00
utilum
1541e5bee3
Update w3c_validtors for Ruby 3 compatibility (#40227)
* Update w3c_validtors for Ruby 3 compatibility

* Update google-api-client for Ruby 3 compatibility
2020-09-21 14:19:59 +09:00
Utkarsh Gupta
cd9ab098c4 Update RuboCop to v0.90
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
2020-09-06 06:37:04 +05:30
Petrik
f6bcd1496e Use Rouge for guides code highlighting [ci skip]
Replace javascript highlighting using Prism with the Rouge markdown
highlighter. Uses the github theme.
2020-07-08 09:05:08 +02:00
Ryuta Kamizono
60bfed90ce Revert "Lock benchmark-ips version "< 2.8""
This reverts commit c1b8833edbc55cdbea34b572e8759a92ed9a4660.

Revert "Lock benchmark-ips version < 2.8"

This reverts commit 62bfa50ff2db093508575b442ac50b125dd0850b.

LoadError is fixed in benchmark-ips 2.8.2.

https://github.com/evanphx/benchmark-ips/pull/101
2020-06-05 10:22:27 +09:00
Ryuta Kamizono
62bfa50ff2 Lock benchmark-ips version < 2.8
Looks like "File does not exist: benchmark/ips/stats/stats_metric" is
caused by benchmark-ips 2.8.0.

https://buildkite.com/rails/rails/builds/68586#d77847d6-b3f5-4fd9-af9e-45f465c9d801/940-965
https://buildkite.com/rails/rails/builds/68586#e2037c59-a695-41ff-9040-c8ee74fa7c16/940-965
2020-05-02 06:36:07 +09:00
Ryuta Kamizono
592358e182 Update pg gem required version to 1.1
This is required for #39063 to use `PG::TextDecoder::Numeric`.

Ref https://github.com/ged/ruby-pg/pull/25.

The pg gem 1.1.0 was released at August 24, 2018, so I think it is good
timing to bump the required version for improving and cleaning up the
code base.

https://rubygems.org/gems/pg/versions
2020-04-27 16:27:40 +09:00
Ryuta Kamizono
f960948d23 Remove more code for unsupported frontbase and ibm_db adapters
FrontBase and IBM_DB adapters do not work for Rails 5.2.

https://rubygems.org/gems/ruby-frontbase
https://rubygems.org/gems/ibm_db
2020-04-12 11:45:28 +09:00
Eugene Kenny
100f7a7f64 Add rubocop group to Gemfile for use in CI
Since c1e7268c83336777655b20f9e23892d8143c0243 we install the latest
version of RuboCop in our GitHub Actions workflow for speed, but this
sacrifices reproducibility; the results will change whenever RuboCop
publishes a new version. Instead we can add a new group to our Gemfile
that just contains the dependencies necessary to run RuboCop, and skip
installing everything else in CI.

Unfortunately it's not possible to tell Bundler to only install gems
from a single group, so we have to tell it not to install every other
group instead.
2020-03-27 23:55:26 +00:00
Carlos Antonio da Silva
104aaf5b3f Test with and generate new apps with webpacker 5.0 2020-03-22 16:39:01 -03:00
Robin Dupret
e5ed5f37d4 Use latest version of SDoc
Cross-refs zzak/sdoc#138.

[John Hawthorn]
2020-03-14 19:32:02 +01:00
Ryuta Kamizono
0399be7076 rexml has been bundled gems in Ruby 2.8 (3.0)
https://bugs.ruby-lang.org/issues/16485
https://github.com/ruby/ruby/pull/2832
2020-01-14 09:35:37 +09:00
Ryuta Kamizono
4628518382 rack 2.1.1 has released
https://github.com/rack/rack/compare/2.1.0...2.1.1
2020-01-12 19:54:25 +09:00
Ryuta Kamizono
a6a4222384 rack 2.1.0 changed expires date format from rfc2822 to httpdate
See https://github.com/rack/rack/pull/1144.
2020-01-11 15:09:50 +09:00
Benoit Daloze
cbc5fbc008 Update to listen 3.2
* https://github.com/guard/listen/releases/tag/v3.2.0
* https://github.com/guard/listen/issues/465
* `listen` removed the unmaintained `ruby_dep` dependency, which
  incorrectly shows warnings when running on TruffleRuby.
2019-11-24 15:19:54 +01:00
Ryuta Kamizono
4674d77764 Required mysql2 gem 0.5.0
This follows up #36692, `Mysql2::Error::TimeoutError` is introduced from
mysql2 gem 0.5.0. https://github.com/brianmario/mysql2/pull/911
2019-09-13 11:15:44 +09:00
Peter Zhu
ebedf0a6c0 Update azure-storage gem to latest version 2019-08-06 16:02:42 -04:00
George Claghorn
d415eb4f6d
Stop setting a default Capybara app host
It's intended not to be set if Capybara starts the app server itself. Base Rails-generated URLs off of Capybara.current_session.server_url instead.
2019-07-24 22:19:21 -04:00
John Hawthorn
5dbc814ddf Bump minimum selenium-webdriver version
Since #36424, we need an newer version in order to pass.
2019-07-04 16:17:39 -07:00
Ryuta Kamizono
648144649a
Merge pull request #36426 from abhaynikam/bump-codeclimate-rubocop-version
Bump rubocop to 0.71
2019-06-06 20:40:20 +09:00
Abhay Nikam
00b3b68602 Bump rubocop to 0.71 2019-06-06 15:34:50 +05:30
yuuji.yaginuma
a6154cf330 Unlock selenium-webdriver version
`selenium-webdriver` is deprecateing various features for improvement in 4.0.
I want to test with the latest version to check if Rails uses deprecated
features or not.
2019-06-06 13:34:20 +09:00
Prathamesh Sonpatki
fa0ce5c790
Bump bootsnap to a version with disables iseq_cache for Ruby 2.5
- Refs https://github.com/Shopify/bootsnap/pull/257
2019-04-26 12:55:28 +05:30
Koichi ITO
c6379fd27f Bump RuboCop to 0.67.2
Performance cops will be extracted from RuboCop to RuboCop Performance
when next RuboCop 0.68 will be released.
https://github.com/rubocop-hq/rubocop/issues/5977

RuboCop 0.67 is its transition period.

Since rails/rails repository uses Performance cops, This PR added
rubocop-performance gem to Gemfile.

And this PR fixes some offenses using the following auto-correct.

```console
% bundle exec rubocop -a

Offenses:

activerecord/test/cases/connection_adapters/connection_handlers_multi_db_test.rb:212:26:
C: [Corrected] Layout/SpaceAroundOperators: Operator =
> should be surrounded by a single space.
              "primary"  => { adapter: "sqlite3", database: "db/primary.sqlite3" }
                         ^^
activerecord/test/cases/connection_adapters/connection_handlers_multi_db_test.rb:239:26:
C: [Corrected] Layout/SpaceAroundOperators: Operator => should be
surrounded by a single space.
              "primary"  => { adapter: "sqlite3", database: "db/primary.sqlite3" }
                         ^^
actionview/test/template/resolver_shared_tests.rb:1:1: C: [Corrected]
Style/FrozenStringLiteralComment: Missing magic comment #
frozen_string_literal: true.
module ResolverSharedTests
^
actionview/test/template/resolver_shared_tests.rb:10:33: C: [Corrected]
Layout/SpaceAroundEqualsInParameterDefault: Surrounding space missing in
default value assignment.
  def with_file(filename, source="File at #{filename}")
                                ^
actionview/test/template/resolver_shared_tests.rb:106:5: C: [Corrected]
Rails/RefuteMethods: Prefer assert_not_same over refute_same.
    refute_same a, b
    ^^^^^^^^^^^

2760 files inspected, 5 offenses detected, 5 offenses corrected
```
2019-04-16 17:58:24 +09:00
Fumiaki MATSUSHIMA
61c4be4777 Output junit format test report 2019-04-04 14:34:46 +09:00
Ryuta Kamizono
0908184e4c Use execute_batch2 rather than execute_batch to fix performance regression for fixture loading
d8d6bd5 makes fixture loading to bulk statements by using
`execute_batch` for sqlite3 adapter. But `execute_batch` is slower and
it caused the performance regression for fixture loading.

In sqlite3 1.4.0, it have new batch method `execute_batch2`. I've
confirmed `execute_batch2` is extremely faster than `execute_batch`.
So I think it is worth to upgrade sqlite3 to 1.4.0 to use that method.

Before:

```
% ARCONN=sqlite3 bundle exec ruby -w -Itest test/cases/associations/eager_test.rb -n test_eager_loading_too_may_ids
Using sqlite3
Run options: -n test_eager_loading_too_may_ids --seed 35790

# Running:

.

Finished in 202.437406s, 0.0049 runs/s, 0.0049 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
ARCONN=sqlite3 bundle exec ruby -w -Itest  -n test_eager_loading_too_may_ids  142.57s user 60.83s system 98% cpu 3:27.08 total
```

After:

```
% ARCONN=sqlite3 bundle exec ruby -w -Itest test/cases/associations/eager_test.rb -n test_eager_loading_too_may_ids
Using sqlite3
Run options: -n test_eager_loading_too_may_ids --seed 16649

# Running:

.

Finished in 8.471032s, 0.1180 runs/s, 0.1180 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
ARCONN=sqlite3 bundle exec ruby -w -Itest  -n test_eager_loading_too_may_ids  10.71s user 1.36s system 95% cpu 12.672 total
```
2019-04-04 03:27:46 +09:00
Xavier Noria
379d7e8bfa bumps Zeitwerk and Bootsnap 2019-03-26 20:30:18 +01:00
Guillermo Iguaran
2512f24ef4 Use webdrivers instead of chromedriver-helper for AV UJS tests 2019-03-24 16:05:30 -05:00
Sharang Dashputre
c2de1f79ab Don't lock the webpacker gem by its patch version 2019-03-09 05:29:36 +05:30