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
52
三代目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
The World Runs on Bad Software
bkeepers
PRO
65
11k
Music & Morning Musume
bryan
46
6.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Making the Leap to Tech Lead
cromwellryan
133
8.9k
RailsConf 2023
tenderlove
29
900
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
The Cult of Friendly URLs
andyhume
78
6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Building an army of robots
kneath
302
43k
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