From 6247886b48789a7f31af50324abcbb71d4898fcf Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Wed, 22 Oct 2025 22:42:33 +0800 Subject: [PATCH 1/4] Update Rails 8.1 --- Gemfile | 2 +- Gemfile.lock | 141 ++++++++++++++++++++++++++++----------------------- 2 files changed, 78 insertions(+), 65 deletions(-) diff --git a/Gemfile b/Gemfile index be6e7ca52..201f2a74e 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,7 @@ source "https://rubygems.org" git_source(:github) { |repo_name| "https://github.com/#{repo_name}.git" } gem "jbuilder" -gem "rails", "~> 8" +gem "rails", "~> 8.1" gem "rails_autolink" gem "sass-rails" gem "shakapacker", "~> 8.0" diff --git a/Gemfile.lock b/Gemfile.lock index c88a7c26f..618f66d16 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,29 +3,31 @@ GEM specs: action-store (1.1.3) rails (>= 5.2) - actioncable (8.0.3) - actionpack (= 8.0.3) - activesupport (= 8.0.3) + action_text-trix (2.1.15) + railties + actioncable (8.1.0) + actionpack (= 8.1.0) + activesupport (= 8.1.0) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (8.0.3) - actionpack (= 8.0.3) - activejob (= 8.0.3) - activerecord (= 8.0.3) - activestorage (= 8.0.3) - activesupport (= 8.0.3) + actionmailbox (8.1.0) + actionpack (= 8.1.0) + activejob (= 8.1.0) + activerecord (= 8.1.0) + activestorage (= 8.1.0) + activesupport (= 8.1.0) mail (>= 2.8.0) - actionmailer (8.0.3) - actionpack (= 8.0.3) - actionview (= 8.0.3) - activejob (= 8.0.3) - activesupport (= 8.0.3) + actionmailer (8.1.0) + actionpack (= 8.1.0) + actionview (= 8.1.0) + activejob (= 8.1.0) + activesupport (= 8.1.0) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (8.0.3) - actionview (= 8.0.3) - activesupport (= 8.0.3) + actionpack (8.1.0) + actionview (= 8.1.0) + activesupport (= 8.1.0) nokogiri (>= 1.8.5) rack (>= 2.2.4) rack-session (>= 1.0.1) @@ -33,42 +35,43 @@ GEM rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (8.0.3) - actionpack (= 8.0.3) - activerecord (= 8.0.3) - activestorage (= 8.0.3) - activesupport (= 8.0.3) + actiontext (8.1.0) + action_text-trix (~> 2.1.15) + actionpack (= 8.1.0) + activerecord (= 8.1.0) + activestorage (= 8.1.0) + activesupport (= 8.1.0) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (8.0.3) - activesupport (= 8.0.3) + actionview (8.1.0) + activesupport (= 8.1.0) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (8.0.3) - activesupport (= 8.0.3) + activejob (8.1.0) + activesupport (= 8.1.0) globalid (>= 0.3.6) - activemodel (8.0.3) - activesupport (= 8.0.3) - activerecord (8.0.3) - activemodel (= 8.0.3) - activesupport (= 8.0.3) + activemodel (8.1.0) + activesupport (= 8.1.0) + activerecord (8.1.0) + activemodel (= 8.1.0) + activesupport (= 8.1.0) timeout (>= 0.4.0) - activestorage (8.0.3) - actionpack (= 8.0.3) - activejob (= 8.0.3) - activerecord (= 8.0.3) - activesupport (= 8.0.3) + activestorage (8.1.0) + actionpack (= 8.1.0) + activejob (= 8.1.0) + activerecord (= 8.1.0) + activesupport (= 8.1.0) marcel (~> 1.0) - activesupport (8.0.3) + activesupport (8.1.0) base64 - benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + json logger (>= 1.4.2) minitest (>= 5.1) securerandom (>= 0.3) @@ -90,14 +93,22 @@ GEM rb_sys (>= 0.9.105) base64 (0.3.0) bcrypt (3.1.20) - benchmark (0.4.1) benchmark-ips (2.14.0) - bigdecimal (3.2.3) + bigdecimal (3.3.1) bootsnap (1.18.6) msgpack (~> 1.2) builder (3.3.0) byebug (12.0.0) cancancan (3.6.1) + capybara (3.40.0) + addressable + matrix + mini_mime (>= 0.1.3) + nokogiri (~> 1.11) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (>= 1.5, < 3.0) + xpath (~> 3.2) carrierwave (2.2.6) activemodel (>= 5.0.0) activesupport (>= 5.0.0) @@ -169,7 +180,7 @@ GEM drb (2.2.3) enumize (0.2.1) rails (>= 5.0.0) - erb (5.0.2) + erb (5.1.1) erubi (1.13.1) et-orbi (1.4.0) tzinfo @@ -265,6 +276,7 @@ GEM net-pop net-smtp marcel (1.0.4) + matrix (0.4.3) memory_profiler (1.1.0) mime-types (3.7.0) logger @@ -274,7 +286,7 @@ GEM mini_magick (5.3.1) logger mini_mime (1.1.5) - minitest (5.25.5) + minitest (5.26.0) minitest-spec-rails (7.4.1) minitest (>= 5.0) railties (>= 4.1) @@ -383,7 +395,7 @@ GEM rexml (~> 3.2) raabro (1.4.0) racc (1.8.1) - rack (3.2.2) + rack (3.2.3) rack-attack (6.7.0) rack (>= 1.0, < 4) rack-cors (3.0.0) @@ -402,20 +414,20 @@ GEM rack (>= 1.3) rackup (2.2.1) rack (>= 3) - rails (8.0.3) - actioncable (= 8.0.3) - actionmailbox (= 8.0.3) - actionmailer (= 8.0.3) - actionpack (= 8.0.3) - actiontext (= 8.0.3) - actionview (= 8.0.3) - activejob (= 8.0.3) - activemodel (= 8.0.3) - activerecord (= 8.0.3) - activestorage (= 8.0.3) - activesupport (= 8.0.3) + rails (8.1.0) + actioncable (= 8.1.0) + actionmailbox (= 8.1.0) + actionmailer (= 8.1.0) + actionpack (= 8.1.0) + actiontext (= 8.1.0) + actionview (= 8.1.0) + activejob (= 8.1.0) + activemodel (= 8.1.0) + activerecord (= 8.1.0) + activestorage (= 8.1.0) + activesupport (= 8.1.0) bundler (>= 1.15.0) - railties (= 8.0.3) + railties (= 8.1.0) rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest @@ -433,9 +445,9 @@ GEM actionview (> 3.1) activesupport (> 3.1) railties (> 3.1) - railties (8.0.3) - actionpack (= 8.0.3) - activesupport (= 8.0.3) + railties (8.1.0) + actionpack (= 8.1.0) + activesupport (= 8.1.0) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -583,18 +595,19 @@ GEM unicode-display_width (3.2.0) unicode-emoji (~> 4.1) unicode-emoji (4.1.0) - uri (1.0.3) + uri (1.0.4) useragent (0.16.11) version_gem (1.1.9) - view_component (4.0.2) - activesupport (>= 7.1.0, < 8.1) - concurrent-ruby (~> 1) + view_component (2.3.0) + capybara (~> 3) warden (1.2.9) rack (>= 2.0.9) websocket-driver (0.8.0) base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) + xpath (3.2.0) + nokogiri (~> 1.8) zeitwerk (2.7.3) PLATFORMS @@ -653,7 +666,7 @@ DEPENDENCIES qiniu rack-attack rack-cors - rails (~> 8) + rails (~> 8.1) rails-i18n rails-settings-cached rails_autolink From 98ca6adb87388b4d4d9813da73e6669fff91b487 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Thu, 5 Feb 2026 11:35:01 +0800 Subject: [PATCH 2/4] Update Dockerfile-base to use Ruby 4.0 --- Dockerfile-base | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile-base b/Dockerfile-base index 2aec5e5c3..e958bd861 100644 --- a/Dockerfile-base +++ b/Dockerfile-base @@ -1,4 +1,4 @@ -FROM ruby:3.4-alpine +FROM ruby:4.0-alpine RUN apk update && apk add curl gcc g++ gnupg make From 4da04af68db120789cea7185b3fa809df0397122 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Thu, 5 Feb 2026 11:53:23 +0800 Subject: [PATCH 3/4] Update Gems. --- Gemfile.lock | 82 +++++++++++++++++++++++++++------------------------- 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 618f66d16..0b5169f91 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -83,18 +83,18 @@ GEM nokogiri (~> 1.6) rest-client (~> 2.0) ast (2.4.3) - autocorrect-rb (2.13.1) + autocorrect-rb (2.16.3-aarch64-linux) rb_sys (>= 0.9.105) - autocorrect-rb (2.13.1-aarch64-linux) + autocorrect-rb (2.16.3-arm64-darwin) rb_sys (>= 0.9.105) - autocorrect-rb (2.13.1-arm64-darwin) + autocorrect-rb (2.16.3-x86_64-linux) rb_sys (>= 0.9.105) - autocorrect-rb (2.13.1-x86_64-linux-musl) + autocorrect-rb (2.16.3-x86_64-linux-musl) rb_sys (>= 0.9.105) base64 (0.3.0) bcrypt (3.1.20) benchmark-ips (2.14.0) - bigdecimal (3.3.1) + bigdecimal (4.0.1) bootsnap (1.18.6) msgpack (~> 1.2) builder (3.3.0) @@ -135,13 +135,13 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.3.5) - connection_pool (2.5.4) + concurrent-ruby (1.3.6) + connection_pool (3.0.2) crass (1.0.6) cronex (0.15.0) tzinfo unicode (>= 0.4.4.5) - date (3.4.1) + date (3.5.1) derailed_benchmarks (2.2.1) base64 benchmark-ips (~> 2) @@ -180,7 +180,7 @@ GEM drb (2.2.3) enumize (0.2.1) rails (>= 5.0.0) - erb (5.1.1) + erb (6.0.1) erubi (1.13.1) et-orbi (1.4.0) tzinfo @@ -201,6 +201,7 @@ GEM net-http (>= 0.5.0) faraday-rack (2.1.3) faraday (~> 2.0) + ffi (1.17.2) ffi (1.17.2-aarch64-linux-musl) ffi (1.17.2-arm64-darwin) ffi (1.17.2-x86_64-linux-gnu) @@ -226,13 +227,13 @@ GEM http-cookie (1.1.0) domain_name (~> 0.5) http_accept_language (2.1.1) - i18n (1.14.7) + i18n (1.14.8) concurrent-ruby (~> 1.0) image_processing (1.14.0) mini_magick (>= 4.9.5, < 6) ruby-vips (>= 2.0.17, < 3) - io-console (0.8.1) - irb (1.15.2) + io-console (0.8.2) + irb (1.16.0) pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) @@ -240,7 +241,7 @@ GEM actionview (>= 7.0.0) activesupport (>= 7.0.0) jieba-rb (5.0.0) - json (2.15.0) + json (2.18.1) jwt (3.1.2) base64 kaminari (1.2.2) @@ -267,7 +268,7 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) - loofah (2.24.1) + loofah (2.25.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -286,15 +287,16 @@ GEM mini_magick (5.3.1) logger mini_mime (1.1.5) - minitest (5.26.0) + minitest (6.0.1) + prism (~> 1.5) minitest-spec-rails (7.4.1) minitest (>= 5.0) railties (>= 4.1) mocha (2.7.1) ruby2_keywords (>= 0.0.5) msgpack (1.8.0) - multi_xml (0.7.2) - bigdecimal (~> 3.1) + multi_xml (0.8.1) + bigdecimal (>= 3.1, < 5) mutex_m (0.3.0) net-http (0.6.0) uri @@ -309,13 +311,13 @@ GEM net-protocol netrc (0.11.0) nio4r (2.7.4) - nokogiri (1.18.10-aarch64-linux-musl) + nokogiri (1.19.0-aarch64-linux-musl) racc (~> 1.4) - nokogiri (1.18.10-arm64-darwin) + nokogiri (1.19.0-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.10-x86_64-linux-gnu) + nokogiri (1.19.0-x86_64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.10-x86_64-linux-musl) + nokogiri (1.19.0-x86_64-linux-musl) racc (~> 1.4) notifications (1.1.0) kaminari (>= 0.15) @@ -364,6 +366,7 @@ GEM parser (3.3.9.0) ast (~> 2.4.1) racc + pg (1.6.2) pg (1.6.2-aarch64-linux-musl) pg (1.6.2-arm64-darwin) pg (1.6.2-x86_64-linux) @@ -379,7 +382,7 @@ GEM prettyprint prettyprint (0.2.0) prism (1.5.1) - psych (5.2.6) + psych (5.3.1) date stringio public_suffix (6.0.2) @@ -395,7 +398,7 @@ GEM rexml (~> 3.2) raabro (1.4.0) racc (1.8.1) - rack (3.2.3) + rack (3.2.4) rack-attack (6.7.0) rack (>= 1.0, < 4) rack-cors (3.0.0) @@ -412,7 +415,7 @@ GEM rack (>= 3.0.0) rack-test (2.2.0) rack (>= 1.3) - rackup (2.2.1) + rackup (2.3.1) rack (>= 3) rails (8.1.0) actioncable (= 8.1.0) @@ -455,14 +458,14 @@ GEM tsort (>= 0.2) zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.3.0) - rake-compiler-dock (1.9.1) + rake (13.3.1) + rake-compiler-dock (1.11.0) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rb_sys (0.9.117) - rake-compiler-dock (= 1.9.1) - rdoc (6.15.0) + rb_sys (0.9.124) + rake-compiler-dock (= 1.11.0) + rdoc (7.1.0) erb psych (>= 4.0.0) tsort @@ -473,7 +476,7 @@ GEM redis-client (0.26.1) connection_pool regexp_parser (2.11.3) - reline (0.6.2) + reline (0.6.3) io-console (~> 0.5) responders (3.1.1) actionpack (>= 5.2) @@ -521,16 +524,16 @@ GEM ffi (~> 1.12) logger ruby2_keywords (0.0.5) - rucaptcha (3.3.0-aarch64-linux-musl) + rucaptcha (3.4.0-aarch64-linux-musl) railties (>= 3.2) rb_sys (>= 0.9.105) - rucaptcha (3.3.0-arm64-darwin) + rucaptcha (3.4.0-arm64-darwin) railties (>= 3.2) rb_sys (>= 0.9.105) - rucaptcha (3.3.0-x86_64-linux) + rucaptcha (3.4.0-x86_64-linux) railties (>= 3.2) rb_sys (>= 0.9.105) - rucaptcha (3.3.0-x86_64-linux-musl) + rucaptcha (3.4.0-x86_64-linux-musl) railties (>= 3.2) rb_sys (>= 0.9.105) sass-rails (6.0.0) @@ -577,8 +580,8 @@ GEM activesupport (>= 6.1) sprockets (>= 3.0.0) ssrf_filter (1.3.0) - stringio (3.1.7) - thor (1.4.0) + stringio (3.2.0) + thor (1.5.0) tilt (2.6.1) timeout (0.4.3) tsort (0.2.0) @@ -594,8 +597,8 @@ GEM unicode (0.4.4.5) unicode-display_width (3.2.0) unicode-emoji (~> 4.1) - unicode-emoji (4.1.0) - uri (1.0.4) + unicode-emoji (4.2.0) + uri (1.1.1) useragent (0.16.11) version_gem (1.1.9) view_component (2.3.0) @@ -608,7 +611,7 @@ GEM websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.7.3) + zeitwerk (2.7.4) PLATFORMS aarch64-linux-musl @@ -616,6 +619,7 @@ PLATFORMS arm64-darwin-22 arm64-darwin-23 arm64-darwin-24 + arm64-darwin-25 x86_64-linux x86_64-linux-musl From 9ce2cc56668aa520e4929e6cac990900de001889 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Thu, 5 Feb 2026 11:53:45 +0800 Subject: [PATCH 4/4] . --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2e7283996..374255f3c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # NAME: homeland/homeland -FROM homeland/base:3.4-alpine +FROM homeland/base:4.0-alpine ENV RAILS_ENV "production" ENV RUBY_YJIT_ENABLE "true"