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
810
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
GitHub Copilot coding agent を推したい / AIDD Nagoya #1
tnir
4
5.8k
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
1k
2030年のSREを考える / SRE-in 2030
tnir
0
150
Ruby Guessr was harder to me RubyKaigi 2025
tnir
0
35
Bundler CHECKSUMS
tnir
0
40
Cloud Run & GKE Autopilot (late 2024)
tnir
0
84
A life with Rails 8.0 (beta)
tnir
0
120
三代目CTO at stmn, inc. / CTO at stmn
tnir
1
8k
Teach programming with Postman 101
tnir
0
53
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
2k
We Have a Design System, Now What?
morganepeng
54
8k
Amusing Abliteration
ianozsvald
0
78
Agile that works and the tools we love
rasmusluckow
331
21k
Docker and Python
trallard
47
3.7k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Deep Space Network (abreviated)
tonyrice
0
30
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
300
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
How to make the Groovebox
asonas
2
1.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
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