Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Progressive Rails 8.1 (alpha) / progressive-rai...
Search
tnir
November 14, 2024
0
3
Progressive Rails 8.1 (alpha) / progressive-rails-8-1
- A life with Rails 8.1 (alpha)
2024-11-xx STORES.jp talks about Rails
tnir
November 14, 2024
Tweet
Share
More Decks by tnir
See All by tnir
A life with Rails 8.0 (beta)
tnir
0
54
三代目CTO at stmn, inc. / CTO at stmn
tnir
0
5.7k
Cloud-agnostic Serverless built with GitLab
tnir
0
340
The Challenge at Contribute & Sessions from GitLab Contribute 2019 New Orleans
tnir
3
1.3k
The State of Docker: product and community
tnir
3
970
GitLab Overview & Version 12.x
tnir
2
2.9k
Engineering life with containers on AWS
tnir
1
7.1k
Everyone can use, everyone can contribute!
tnir
1
410
CircleCI and GitLab CI CD
tnir
3
1.3k
Featured
See All Featured
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Typedesign – Prime Four
hannesfritz
40
2.4k
Become a Pro
speakerdeck
PRO
25
5k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Writing Fast Ruby
sferik
627
61k
Designing for Performance
lara
604
68k
For a Future-Friendly Web
brad_frost
175
9.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
900
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Transcript
Progressive Rails 8.1 (alpha) @tnir - 2024-11-14 - STORES &
Rails @STORES HQ
@tnir Takuya Noguchi X: @tn961ir • https://github.com/tnir • https://gitlab.com/tnir
#storesrb @tn961ir @tnir (Takuya N) • Ruby 25y • Rails
18y • GitLab Core Team (2015-) • geminabox / nronn maintainer • Bundler / forem (dev.to) contributor • CTO at B2B SaaS sponsoring Kaigi on Rails 2023/2024 RubyKaigi 2023/2024 Rails Girls Japan 2023-2024 https://github.com/ruby/ruby
https://contributors.rubyonrails.org/releases/8-0-0/contributors 31th (tied)
#storesrb @tn961ir State: Rails 6.1 in 2023 • A Rails
app started in 2016 (< 1M LOCs) ◦ (3 sub Rails apps beside) • 1k+ modules, 250+ models • 100+ public gem dependencies (direct & indirect) ◦ 10 unmaintained gems 😞 ◦ A few edgy gems 🎉 https://x.com/edawerd/status/1833261508924739915 Gusto: 4.18M LOCs
🤝Rails 8.0.0.beta1 Sep 2024 (Rails World 2024)
A life with Rails 8.0 (beta) - Proposals on Rails
https://speakerdeck.com/tnir/a-life-with-rails-8-dot-0-beta
🎉Rails 8.1.0.alpha (2024-10-23 - 2 days before Kaigi on Rails
2024)
#storesrb @tn961ir activerecord dependency gemspec in dependent gems: Gem::Specification.new do
|spec| spec.add_dependency 'activerecord', '>= 6', '< 8' end ↓ Gem::Specification.new do |spec| spec.add_dependency 'activerecord', '>= 6', '< 9' end
None
#storesrb @tn961ir Releases based on Rails edge • ~ 85
releases since we moved to edge (Sep 2023) • ~200 days passed since Rails World 2024
#storesrb @tn961ir gem “rails”, …, branch: “main” # Bundle edge
Rails instead: gem "rails", github: "rails/rails", branch: "main" ↓ # Gemfile gem "rails", github: "rails/rails", branch: "main" With Bundler: ~= git clone --depth 1 “https://github.com/rails/rails.git”
Build in environments
#storesrb @tn961ir On (my) local • ~ 5-6 sec 🎉
• (MacBook Air M2 24GB, N/W 2Gbps(max))
#storesrb @tn961ir On (my) local • ~ 5-6 sec 🎉
• (MacBook Air M2 24GB, N/W 2Gbps(max) Tokyo 23)
#storesrb @tn961ir On CI (AWS CodeBuild) • ~ 34-35 sec
• (general1.large, Linux) ◦ 8vCPU, 15GB, N/W ?? (ap-northeast-1)
#storesrb @tn961ir CI: caching gems (production) • Cache strategy in
CodeBuild ◦ No Amazon S3/Local caching • Cache in Docker Build ◦ multi-stage build && docker build --cache-from. ◦ Disadvantage for updating gems daily/weekly (=cache miss) • ❗0.5 min out of 10 min (CI duration)
#storesrb @tn961ir Summary • Rails edge in production: the hard
way ◦ … working as CxO • ⚠We are hiring Rails enthusiasts⚠
None
https://x.com/stmn_eng