From Fedora Project Wiki
(Announcing the change proposal)
mNo edit summary
Line 43: Line 43:
! Package name
! Package name
! Task
! Task
! Status
! Bug
! Pull Request
|-
|-
|rubygem-actioncable
|rubygem-actioncable
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742788 #1742788]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742788 #1742788]
|[https://src.fedoraproject.org/rpms/rubygem-actioncable/pull-request/1 PR]
|-
|-
|rubygem-actionmailbox
|rubygem-actionmailbox
|New in 6.0.x
|New in 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id= #]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1859414 #1859414]
|-
|-
|rubygem-actionmailer
|rubygem-actionmailer
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742789 #1742789]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742789 #1742789]
|[https://src.fedoraproject.org/rpms/rubygem-actionmailer/pull-request/1 PR]
|-
|-
|rubygem-actionpack
|rubygem-actionpack
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742790 #1742790]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742790 #1742790]
|[https://src.fedoraproject.org/rpms/rubygem-actionpack/pull-request/1 PR]
|-
|-
|rubygem-actiontext
|rubygem-actiontext
|New in 6.0.x
|New in 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id= #]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1859416 #1859416]
|-
|-
|rubygem-actionview
|rubygem-actionview
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742791 #1742791]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742791 #1742791]
|[https://src.fedoraproject.org/rpms/rubygem-actionview/pull-request/1 PR]
|-
|-
|rubygem-activejob
|rubygem-activejob
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742792 #1742792]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742792 #1742792]
|[https://src.fedoraproject.org/rpms/rubygem-activejob/pull-request/1 PR]
|-
|-
|rubygem-activemodel
|rubygem-activemodel
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742793 #1742793]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742793 #1742793]
|[https://src.fedoraproject.org/rpms/rubygem-activemodel/pull-request/1 PR]
|-
|-
|rubygem-activerecord
|rubygem-activerecord
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742794 #1742794]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742794 #1742794]
|[https://src.fedoraproject.org/rpms/rubygem-activerecord/pull-request/2 PR]
|-
|-
|rubygem-activestorage
|rubygem-activestorage
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742796 #1742796]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742796 #1742796]
|[https://src.fedoraproject.org/rpms/rubygem-activestorage/pull-request/2 PR]
|-
|-
|rubygem-activesupport
|rubygem-activesupport
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742797 #1742797]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742797 #1742797]
|[https://src.fedoraproject.org/rpms/rubygem-activesupport/pull-request/2 PR]
|-
|-
|rubygem-rails
|rubygem-rails
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742800 #1742800]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742800 #1742800]
|[https://src.fedoraproject.org/rpms/rubygem-rails/pull-request/1 PR]
|-
|-
|rubygem-railties
|rubygem-railties
|Update to 6.0.x
|Update to 6.0.x
|{{result|inprogress|pvalena}} [https://bugzilla.redhat.com/show_bug.cgi?id=1742801 #1742801]
|[https://bugzilla.redhat.com/show_bug.cgi?id=1742801 #1742801]
|[https://src.fedoraproject.org/rpms/rubygem-railties/pull-request/1 PR]
|}
|}
Current development state can be observed in [https://copr.fedorainfracloud.org/coprs/pvalena/ruby-on-rails/ pvalena/ruby-on-rails] COPR repository.  
Current development state can be observed in [https://copr.fedorainfracloud.org/coprs/pvalena/ruby-on-rails/ pvalena/ruby-on-rails] COPR repository.  

Revision as of 01:14, 22 July 2020

Ruby on Rails 6.0

Summary

Ruby on Rails 6.0 is the latest version of well known web framework written in Ruby.

Owner

Current status

  • Targeted release: Fedora 33
  • Last updated: 2020-07-22
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

The Ruby on Rails stack is evolving quickly and Fedora needs to keep pace with it. Therefore the whole Ruby on Rails stack should be updated from 5.2 in Fedora 32 to 6.0 (latest version) in Fedora 33. This will ensure that all the Ruby developers using Fedora have the latest and greatest RPM-packaged Ruby on Rails.

Benefit to Fedora

This update will keep Fedora up-to-date and will ensure that the current Ruby on Rails developers stay with us as they will get support for system-packaged Ruby on Rails of the latest version. Apart from that, update to Rails 6.0 will bring new Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk. Update to Rails 6.0 contains hundreds of other fixes and improvements across all the frameworks.

Scope

  • Proposal owners:
    • The whole Rails stack has to be updated
    • Some dependencies of the Rails stack will need update

Packages need to be created/updated

Package name Task Bug Pull Request
rubygem-actioncable Update to 6.0.x #1742788 PR
rubygem-actionmailbox New in 6.0.x #1859414
rubygem-actionmailer Update to 6.0.x #1742789 PR
rubygem-actionpack Update to 6.0.x #1742790 PR
rubygem-actiontext New in 6.0.x #1859416
rubygem-actionview Update to 6.0.x #1742791 PR
rubygem-activejob Update to 6.0.x #1742792 PR
rubygem-activemodel Update to 6.0.x #1742793 PR
rubygem-activerecord Update to 6.0.x #1742794 PR
rubygem-activestorage Update to 6.0.x #1742796 PR
rubygem-activesupport Update to 6.0.x #1742797 PR
rubygem-rails Update to 6.0.x #1742800 PR
rubygem-railties Update to 6.0.x #1742801 PR

Current development state can be observed in pvalena/ruby-on-rails COPR repository.

  • Other developers: Update Rails dependent packages to be working with Ruby on Rails 6.0
  • Release engineering: #9618
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Web applications build above Ruby on Rails framework might need to be updated. Official upstream upgrade guide might come handy: http://guides.rubyonrails.org/upgrading_ruby_on_rails.html

How To Test

  • No special hardware is needed.

To test Rails 6.0 from upstream

gem install rails -v 6.0.x
rails new app
cd app && rails s

To test only Rails itself

dnf install rubygem-rails
rails new app
cd app && rails s

To test the complete feature including generating a new Rails app using RPM

dnf group install 'Ruby on Rails'
rails new app --skip-bundle && cd app
rails s

User Experience

  • New version of Ruby on Rails (6.0) available
  • The most significant Rails 6.0 features:
    • Action Mailbox
    • Action Text
    • Multiple DBs
    • Parallel Testing
    • Webpacker by default
    • Zeitwerk

Dependencies

  • There are several packages, which depends on Ruby on Rails framework.
  • These needs to be surely updated:
    • rubygem-sass-rails
  • Following gems don't support Rails 6.0 right now and would be broken by the update:
    • (none)
  • As Rails requires Ruby >= 2.5, the platform less than the version can not use Rails 6.0.

Contingency Plan

  • Contingency mechanism: None needed. Rails stack won't be updated until all its dependencies are in Rawhide. After that, it will be a simple matter of updating the core packages (and their dependencies).
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? No
  • Blocks product? No

Documentation

Release Notes