From f9fec64b6ae9bdced157f450d4738d123b4443c1 Mon Sep 17 00:00:00 2001 From: Loic Nageleisen Date: Thu, 18 Jun 2026 16:31:44 +0200 Subject: [PATCH 1/3] Add per-Ruby SSI Rails lockfiles Move the Ruby SSI Rails sample apps to dispatch Gemfiles with committed per-Ruby lockfiles. This makes each runtime use a reproducible dependency graph instead of sharing one lockfile across the matrix. Keep Ruby 3.1 on i18n < 1.15 because i18n 1.15.0 advertises Ruby 3.1 support but uses Fiber.[], which is only available on Ruby 3.2 and newer. --- .../ruby/lib_injection_rails61_app/Gemfile | 42 +-- .../gemfiles/common.gemfile | 36 +++ .../gemfiles/ruby-2.6.gemfile | 1 + .../ruby-2.6.gemfile.lock} | 61 ++--- .../ruby/lib_injection_rails_app/Gemfile | 36 +-- .../ruby/lib_injection_rails_app/Gemfile.lock | 180 ------------- .../gemfiles/common.gemfile | 31 +++ .../gemfiles/ruby-2.7.gemfile | 1 + .../gemfiles/ruby-2.7.gemfile.lock | 219 ++++++++++++++++ .../gemfiles/ruby-3.0.gemfile | 1 + .../gemfiles/ruby-3.0.gemfile.lock | 234 +++++++++++++++++ .../gemfiles/ruby-3.1.gemfile | 4 + .../gemfiles/ruby-3.1.gemfile.lock | 219 ++++++++++++++++ .../gemfiles/ruby-3.2.gemfile | 1 + .../gemfiles/ruby-3.2.gemfile.lock | 242 ++++++++++++++++++ .../gemfiles/ruby-3.3.gemfile | 1 + .../gemfiles/ruby-3.3.gemfile.lock | 242 ++++++++++++++++++ .../gemfiles/ruby-3.4.gemfile | 1 + .../gemfiles/ruby-3.4.gemfile.lock | 223 ++++++++++++++++ 19 files changed, 1479 insertions(+), 296 deletions(-) create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/common.gemfile create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/ruby-2.6.gemfile rename lib-injection/build/docker/ruby/lib_injection_rails61_app/{Gemfile.lock => gemfiles/ruby-2.6.gemfile.lock} (80%) delete mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/Gemfile.lock create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/common.gemfile create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-2.7.gemfile create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-2.7.gemfile.lock create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.0.gemfile create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.0.gemfile.lock create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.1.gemfile create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.1.gemfile.lock create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.2.gemfile create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.2.gemfile.lock create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.3.gemfile create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.3.gemfile.lock create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.4.gemfile create mode 100644 lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.4.gemfile.lock diff --git a/lib-injection/build/docker/ruby/lib_injection_rails61_app/Gemfile b/lib-injection/build/docker/ruby/lib_injection_rails61_app/Gemfile index e002a9f4f55..3845ca8fcb0 100644 --- a/lib-injection/build/docker/ruby/lib_injection_rails61_app/Gemfile +++ b/lib-injection/build/docker/ruby/lib_injection_rails61_app/Gemfile @@ -1,38 +1,4 @@ -source "https://rubygems.org" -git_source(:github) { |repo| "https://github.com/#{repo}.git" } - -ruby '>= 2.6.0' - -# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" -gem "rails", "~> 6.1.7" - -# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] -gem "sprockets-rails" - -# Use sqlite3 as the database for Active Record -gem "sqlite3", "~> 1.4" - -# Use the Puma web server [https://github.com/puma/puma] -gem "puma", "~> 5.0" - -# Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] - -# Reduces boot times through caching; required in config/boot.rb -gem "bootsnap", ">= 1.4.4", require: false - -group :development, :test do - # Call 'byebug' anywhere in the code to stop execution and get a debugger console - gem "byebug", platforms: %i[ mri mingw x64_mingw ] -end - -group :development do - # Speed up commands on slow machines / big apps [https://github.com/rails/spring] - # gem "spring" -end - -# See: https://stackoverflow.com/a/79361034 -gem 'concurrent-ruby', '1.3.4' - -# Needed by ActiveSupport::EventedFileUpdateChecker -gem 'listen' +# This app is used with SSI runtime matrix Dockerfiles. +# Each supported Ruby minor has its own Gemfile and lockfile under gemfiles/. +ruby_minor = RUBY_VERSION.split(".").take(2).join(".") +eval_gemfile File.expand_path("gemfiles/ruby-#{ruby_minor}.gemfile", __dir__) diff --git a/lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/common.gemfile b/lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/common.gemfile new file mode 100644 index 00000000000..cb629ba057f --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/common.gemfile @@ -0,0 +1,36 @@ +source "https://rubygems.org" +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" +gem "rails", "~> 6.1.7" + +# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] +gem "sprockets-rails" + +# Use sqlite3 as the database for Active Record +gem "sqlite3", "~> 1.4" + +# Use the Puma web server [https://github.com/puma/puma] +gem "puma", "~> 5.0" + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby] + +# Reduces boot times through caching; required in config/boot.rb +gem "bootsnap", ">= 1.4.4", require: false + +group :development, :test do + # Call 'byebug' anywhere in the code to stop execution and get a debugger console + gem "byebug", platforms: %i[mri mingw x64_mingw] +end + +group :development do + # Speed up commands on slow machines / big apps [https://github.com/rails/spring] + # gem "spring" +end + +# See: https://stackoverflow.com/a/79361034 +gem "concurrent-ruby", "1.3.4" + +# Needed by ActiveSupport::EventedFileUpdateChecker +gem "listen" diff --git a/lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/ruby-2.6.gemfile b/lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/ruby-2.6.gemfile new file mode 100644 index 00000000000..e44b8062897 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/ruby-2.6.gemfile @@ -0,0 +1 @@ +eval_gemfile File.expand_path("common.gemfile", __dir__) diff --git a/lib-injection/build/docker/ruby/lib_injection_rails61_app/Gemfile.lock b/lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/ruby-2.6.gemfile.lock similarity index 80% rename from lib-injection/build/docker/ruby/lib_injection_rails61_app/Gemfile.lock rename to lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/ruby-2.6.gemfile.lock index c8097e09157..b3a0300c405 100644 --- a/lib-injection/build/docker/ruby/lib_injection_rails61_app/Gemfile.lock +++ b/lib-injection/build/docker/ruby/lib_injection_rails61_app/gemfiles/ruby-2.6.gemfile.lock @@ -61,30 +61,25 @@ GEM tzinfo (~> 2.0) zeitwerk (~> 2.3) base64 (0.3.0) - bootsnap (1.19.0) + bootsnap (1.22.0) msgpack (~> 1.2) builder (3.3.0) byebug (11.1.3) concurrent-ruby (1.3.4) crass (1.0.6) - date (3.5.0) - date (3.5.0-java) + date (3.5.1) erubi (1.13.1) - ffi (1.17.2) - ffi (1.17.2-aarch64-linux-gnu) - ffi (1.17.2-arm64-darwin) - ffi (1.17.2-java) - ffi (1.17.2-x86_64-darwin) - ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.4) globalid (1.2.1) activesupport (>= 6.1) - i18n (1.14.7) + i18n (1.14.8) concurrent-ruby (~> 1.0) - listen (3.9.0) + listen (3.10.0) + logger 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.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.9.0) @@ -93,14 +88,13 @@ GEM net-imap net-pop net-smtp - marcel (1.1.0) + marcel (1.2.1) method_source (1.1.0) mini_mime (1.1.5) mini_portile2 (2.8.9) minitest (5.25.4) - msgpack (1.8.0) - msgpack (1.8.0-java) - net-imap (0.3.9) + msgpack (1.8.3) + net-imap (0.3.10) date net-protocol net-pop (0.1.2) @@ -110,27 +104,14 @@ GEM net-smtp (0.5.1) net-protocol nio4r (2.7.5) - nio4r (2.7.5-java) - nokogiri (1.13.10) - mini_portile2 (~> 2.8.0) - racc (~> 1.4) nokogiri (1.13.10-aarch64-linux) racc (~> 1.4) - nokogiri (1.13.10-arm64-darwin) - racc (~> 1.4) - nokogiri (1.13.10-java) - racc (~> 1.4) - nokogiri (1.13.10-x86_64-darwin) - racc (~> 1.4) nokogiri (1.13.10-x86_64-linux) racc (~> 1.4) puma (5.6.9) nio4r (~> 2.0) - puma (5.6.9-java) - nio4r (~> 2.0) racc (1.8.1) - racc (1.8.1-java) - rack (2.2.21) + rack (2.2.23) rack-test (2.2.0) rack (>= 1.3) rails (6.1.7.10) @@ -160,7 +141,7 @@ GEM method_source rake (>= 12.2) thor (~> 1.0) - rake (13.3.1) + rake (13.4.2) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) @@ -174,16 +155,11 @@ GEM sprockets (>= 3.0.0) sqlite3 (1.6.9) mini_portile2 (~> 2.8.0) - thor (1.4.0) - timeout (0.4.4) + thor (1.5.0) + timeout (0.6.1) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - tzinfo-data (1.2025.2) - tzinfo (>= 1.0.0) - websocket-driver (0.8.0) - base64 - websocket-extensions (>= 0.1.0) - websocket-driver (0.8.0-java) + websocket-driver (0.8.1) base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) @@ -191,10 +167,6 @@ GEM PLATFORMS aarch64-linux - arm64-darwin - java - ruby - x86_64-darwin x86_64-linux DEPENDENCIES @@ -208,8 +180,5 @@ DEPENDENCIES sqlite3 (~> 1.4) tzinfo-data -RUBY VERSION - ruby 2.6.10p210 - BUNDLED WITH 2.4.22 diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/Gemfile b/lib-injection/build/docker/ruby/lib_injection_rails_app/Gemfile index 1d23f77fdf3..ce1037b8a8a 100644 --- a/lib-injection/build/docker/ruby/lib_injection_rails_app/Gemfile +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/Gemfile @@ -1,32 +1,4 @@ -source "https://rubygems.org" -git_source(:github) { |repo| "https://github.com/#{repo}.git" } - -# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" -gem "rails", "~> 7.0.3" - -# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] -gem "sprockets-rails" - -# Use sqlite3 as the database for Active Record -gem "sqlite3", "~> 1.4" - -# Use the Puma web server [https://github.com/puma/puma] -gem "puma", "~> 5.0" - -gem 'mutex_m', '~> 0.2.0' -gem 'base64', '~> 0.1.0' -gem 'bigdecimal', '~> 1.2', '>= 1.2.7' - -# Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] - -group :development, :test do - # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem - gem "debug", platforms: %i[ mri mingw x64_mingw ] -end - -group :development do - # Speed up commands on slow machines / big apps [https://github.com/rails/spring] - # gem "spring" -end - +# This app is used with multiple Ruby versions in SSI tests. +# Each supported Ruby minor has its own Gemfile and lockfile under gemfiles/. +ruby_minor = RUBY_VERSION.split(".").take(2).join(".") +eval_gemfile File.expand_path("gemfiles/ruby-#{ruby_minor}.gemfile", __dir__) diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/Gemfile.lock b/lib-injection/build/docker/ruby/lib_injection_rails_app/Gemfile.lock deleted file mode 100644 index fa63e29ed8c..00000000000 --- a/lib-injection/build/docker/ruby/lib_injection_rails_app/Gemfile.lock +++ /dev/null @@ -1,180 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actioncable (7.0.4.2) - actionpack (= 7.0.4.2) - activesupport (= 7.0.4.2) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailbox (7.0.4.2) - actionpack (= 7.0.4.2) - activejob (= 7.0.4.2) - activerecord (= 7.0.4.2) - activestorage (= 7.0.4.2) - activesupport (= 7.0.4.2) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.0.4.2) - actionpack (= 7.0.4.2) - actionview (= 7.0.4.2) - activejob (= 7.0.4.2) - activesupport (= 7.0.4.2) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.4.2) - actionview (= 7.0.4.2) - activesupport (= 7.0.4.2) - rack (~> 2.0, >= 2.2.0) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.4.2) - actionpack (= 7.0.4.2) - activerecord (= 7.0.4.2) - activestorage (= 7.0.4.2) - activesupport (= 7.0.4.2) - globalid (>= 0.6.0) - nokogiri (>= 1.8.5) - actionview (7.0.4.2) - activesupport (= 7.0.4.2) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.4.2) - activesupport (= 7.0.4.2) - globalid (>= 0.3.6) - activemodel (7.0.4.2) - activesupport (= 7.0.4.2) - activerecord (7.0.4.2) - activemodel (= 7.0.4.2) - activesupport (= 7.0.4.2) - activestorage (7.0.4.2) - actionpack (= 7.0.4.2) - activejob (= 7.0.4.2) - activerecord (= 7.0.4.2) - activesupport (= 7.0.4.2) - marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.4.2) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - builder (3.2.4) - concurrent-ruby (1.2.0) - crass (1.0.6) - date (3.3.3) - debug (1.7.1) - irb (>= 1.5.0) - reline (>= 0.3.1) - erubi (1.12.0) - globalid (1.1.0) - activesupport (>= 5.0) - i18n (1.12.0) - concurrent-ruby (~> 1.0) - io-console (0.6.0) - irb (1.6.2) - reline (>= 0.3.0) - loofah (2.19.1) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.8.1) - mini_mime (>= 0.1.1) - net-imap - net-pop - net-smtp - marcel (1.0.2) - method_source (1.0.0) - mini_mime (1.1.2) - minitest (5.17.0) - net-imap (0.3.4) - date - net-protocol - net-pop (0.1.2) - net-protocol - net-protocol (0.2.1) - timeout - net-smtp (0.3.3) - net-protocol - nio4r (2.5.8) - nokogiri (1.14.2-aarch64-linux) - racc (~> 1.4) - nokogiri (1.14.2-arm64-darwin) - racc (~> 1.4) - nokogiri (1.14.2-x86_64-linux) - racc (~> 1.4) - puma (5.6.5) - nio4r (~> 2.0) - racc (1.6.2) - rack (2.2.6.2) - rack-test (2.0.2) - rack (>= 1.3) - rails (7.0.4.2) - actioncable (= 7.0.4.2) - actionmailbox (= 7.0.4.2) - actionmailer (= 7.0.4.2) - actionpack (= 7.0.4.2) - actiontext (= 7.0.4.2) - actionview (= 7.0.4.2) - activejob (= 7.0.4.2) - activemodel (= 7.0.4.2) - activerecord (= 7.0.4.2) - activestorage (= 7.0.4.2) - activesupport (= 7.0.4.2) - bundler (>= 1.15.0) - railties (= 7.0.4.2) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.5.0) - loofah (~> 2.19, >= 2.19.1) - railties (7.0.4.2) - actionpack (= 7.0.4.2) - activesupport (= 7.0.4.2) - method_source - rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) - rake (13.0.6) - reline (0.3.2) - io-console (~> 0.5) - sprockets (4.2.0) - concurrent-ruby (~> 1.0) - rack (>= 2.2.4, < 4) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) - sprockets (>= 3.0.0) - sqlite3 (1.6.0-aarch64-linux) - sqlite3 (1.6.0-arm64-darwin) - sqlite3 (1.6.0-x86_64-linux) - thor (1.2.1) - timeout (0.3.1) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - websocket-driver (0.7.5) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - zeitwerk (2.6.7) - -PLATFORMS - aarch64-linux - arm64-darwin-21 - x86_64-linux - -DEPENDENCIES - debug - puma (~> 5.0) - rails (~> 7.0.3) - sprockets-rails - sqlite3 (~> 1.4) - tzinfo-data - -BUNDLED WITH - 2.4.22 diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/common.gemfile b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/common.gemfile new file mode 100644 index 00000000000..c9b0bb2bf87 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/common.gemfile @@ -0,0 +1,31 @@ +source "https://rubygems.org" +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" +gem "rails", "~> 7.0.3" + +# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] +gem "sprockets-rails" + +# Use sqlite3 as the database for Active Record +gem "sqlite3", "~> 1.4" + +# Use the Puma web server [https://github.com/puma/puma] +gem "puma", "~> 5.0" + +gem "mutex_m", "~> 0.2.0" +gem "base64", "~> 0.1.0" +gem "bigdecimal", "~> 1.2", ">= 1.2.7" + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby] + +group :development, :test do + # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem + gem "debug", platforms: %i[mri mingw x64_mingw] +end + +group :development do + # Speed up commands on slow machines / big apps [https://github.com/rails/spring] + # gem "spring" +end diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-2.7.gemfile b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-2.7.gemfile new file mode 100644 index 00000000000..e44b8062897 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-2.7.gemfile @@ -0,0 +1 @@ +eval_gemfile File.expand_path("common.gemfile", __dir__) diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-2.7.gemfile.lock b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-2.7.gemfile.lock new file mode 100644 index 00000000000..70d8062cf93 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-2.7.gemfile.lock @@ -0,0 +1,219 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + mail (>= 2.7.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.10) + actionpack (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activesupport (= 7.0.10) + mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp + rails-dom-testing (~> 2.0) + actionpack (7.0.10) + actionview (= 7.0.10) + activesupport (= 7.0.10) + racc + rack (~> 2.0, >= 2.2.4) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (7.0.10) + actionpack (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.0.10) + activesupport (= 7.0.10) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.3.6) + activemodel (7.0.10) + activesupport (= 7.0.10) + activerecord (7.0.10) + activemodel (= 7.0.10) + activesupport (= 7.0.10) + activestorage (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activesupport (= 7.0.10) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (7.0.10) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) + tzinfo (~> 2.0) + base64 (0.1.2) + benchmark (0.5.0) + bigdecimal (1.4.4) + builder (3.3.0) + cgi (0.5.1) + concurrent-ruby (1.3.7) + crass (1.0.6) + date (3.5.1) + debug (1.11.1) + irb (~> 1.10) + reline (>= 0.3.8) + drb (2.2.3) + erb (4.0.4.1) + cgi (>= 0.3.3) + erubi (1.13.1) + globalid (1.3.0) + activesupport (>= 6.1) + i18n (1.14.8) + concurrent-ruby (~> 1.0) + io-console (0.8.2) + irb (1.18.0) + pp (>= 0.6.0) + prism (>= 1.3.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + logger (1.7.0) + loofah (2.25.1) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.9.0) + logger + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.2.1) + method_source (1.1.0) + mini_mime (1.1.5) + mini_portile2 (2.8.9) + minitest (5.26.1) + mutex_m (0.2.0) + net-imap (0.4.24) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.1) + net-protocol + nio4r (2.7.5) + nokogiri (1.15.7-aarch64-linux) + racc (~> 1.4) + nokogiri (1.15.7-x86_64-linux) + racc (~> 1.4) + pp (0.6.3) + prettyprint + prettyprint (0.2.0) + prism (1.9.0) + psych (5.4.0) + date + stringio + puma (5.6.9) + nio4r (~> 2.0) + racc (1.8.1) + rack (2.2.23) + rack-test (2.2.0) + rack (>= 1.3) + rails (7.0.10) + actioncable (= 7.0.10) + actionmailbox (= 7.0.10) + actionmailer (= 7.0.10) + actionpack (= 7.0.10) + actiontext (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activemodel (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + bundler (>= 1.15.0) + railties (= 7.0.10) + rails-dom-testing (2.3.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + method_source + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) + rake (13.4.2) + rdoc (7.2.0) + erb + psych (>= 4.0.0) + tsort + reline (0.6.3) + io-console (~> 0.5) + securerandom (0.3.2) + sprockets (4.2.2) + concurrent-ruby (~> 1.0) + logger + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) + sprockets (>= 3.0.0) + sqlite3 (1.7.3) + mini_portile2 (~> 2.8.0) + stringio (3.2.0) + thor (1.5.0) + timeout (0.6.1) + tsort (0.2.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + websocket-driver (0.8.1) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + zeitwerk (2.6.18) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + base64 (~> 0.1.0) + bigdecimal (~> 1.2, >= 1.2.7) + debug + mutex_m (~> 0.2.0) + puma (~> 5.0) + rails (~> 7.0.3) + sprockets-rails + sqlite3 (~> 1.4) + tzinfo-data + +BUNDLED WITH + 2.4.22 diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.0.gemfile b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.0.gemfile new file mode 100644 index 00000000000..e44b8062897 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.0.gemfile @@ -0,0 +1 @@ +eval_gemfile File.expand_path("common.gemfile", __dir__) diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.0.gemfile.lock b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.0.gemfile.lock new file mode 100644 index 00000000000..f33d5e0c84f --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.0.gemfile.lock @@ -0,0 +1,234 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + mail (>= 2.7.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.10) + actionpack (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activesupport (= 7.0.10) + mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp + rails-dom-testing (~> 2.0) + actionpack (7.0.10) + actionview (= 7.0.10) + activesupport (= 7.0.10) + racc + rack (~> 2.0, >= 2.2.4) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (7.0.10) + actionpack (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.0.10) + activesupport (= 7.0.10) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.3.6) + activemodel (7.0.10) + activesupport (= 7.0.10) + activerecord (7.0.10) + activemodel (= 7.0.10) + activesupport (= 7.0.10) + activestorage (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activesupport (= 7.0.10) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (7.0.10) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) + tzinfo (~> 2.0) + base64 (0.1.2) + benchmark (0.5.0) + bigdecimal (1.4.4) + builder (3.3.0) + cgi (0.5.1) + concurrent-ruby (1.3.7) + crass (1.0.6) + date (3.5.1) + debug (1.11.1) + irb (~> 1.10) + reline (>= 0.3.8) + drb (2.2.3) + erb (4.0.4.1) + cgi (>= 0.3.3) + erubi (1.13.1) + globalid (1.3.0) + activesupport (>= 6.1) + i18n (1.14.8) + concurrent-ruby (~> 1.0) + io-console (0.8.2) + irb (1.18.0) + pp (>= 0.6.0) + prism (>= 1.3.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + logger (1.7.0) + loofah (2.25.1) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.9.0) + logger + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.2.1) + method_source (1.1.0) + mini_mime (1.1.5) + minitest (5.26.1) + mutex_m (0.2.0) + net-imap (0.4.24) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.1) + net-protocol + nio4r (2.7.5) + nokogiri (1.17.2-aarch64-linux) + racc (~> 1.4) + nokogiri (1.17.2-arm-linux) + racc (~> 1.4) + nokogiri (1.17.2-arm64-darwin) + racc (~> 1.4) + nokogiri (1.17.2-x86-linux) + racc (~> 1.4) + nokogiri (1.17.2-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.17.2-x86_64-linux) + racc (~> 1.4) + pp (0.6.3) + prettyprint + prettyprint (0.2.0) + prism (1.9.0) + psych (5.4.0) + date + stringio + puma (5.6.9) + nio4r (~> 2.0) + racc (1.8.1) + rack (2.2.23) + rack-test (2.2.0) + rack (>= 1.3) + rails (7.0.10) + actioncable (= 7.0.10) + actionmailbox (= 7.0.10) + actionmailer (= 7.0.10) + actionpack (= 7.0.10) + actiontext (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activemodel (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + bundler (>= 1.15.0) + railties (= 7.0.10) + rails-dom-testing (2.3.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + method_source + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) + rake (13.4.2) + rdoc (7.2.0) + erb + psych (>= 4.0.0) + tsort + reline (0.6.3) + io-console (~> 0.5) + securerandom (0.3.2) + sprockets (4.2.2) + concurrent-ruby (~> 1.0) + logger + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) + sprockets (>= 3.0.0) + sqlite3 (1.7.3-aarch64-linux) + sqlite3 (1.7.3-arm-linux) + sqlite3 (1.7.3-arm64-darwin) + sqlite3 (1.7.3-x86-linux) + sqlite3 (1.7.3-x86_64-darwin) + sqlite3 (1.7.3-x86_64-linux) + stringio (3.2.0) + thor (1.5.0) + timeout (0.6.1) + tsort (0.2.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + websocket-driver (0.8.1) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + zeitwerk (2.6.18) + +PLATFORMS + aarch64-linux + arm-linux + arm64-darwin + x86-linux + x86_64-darwin + x86_64-linux + +DEPENDENCIES + base64 (~> 0.1.0) + bigdecimal (~> 1.2, >= 1.2.7) + debug + mutex_m (~> 0.2.0) + puma (~> 5.0) + rails (~> 7.0.3) + sprockets-rails + sqlite3 (~> 1.4) + tzinfo-data + +BUNDLED WITH + 2.5.23 diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.1.gemfile b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.1.gemfile new file mode 100644 index 00000000000..3f1748946e1 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.1.gemfile @@ -0,0 +1,4 @@ +eval_gemfile File.expand_path("common.gemfile", __dir__) + +# i18n 1.15.0 advertises Ruby >= 3.1 but uses Fiber.[], which needs Ruby 3.2+. +gem "i18n", "< 1.15" diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.1.gemfile.lock b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.1.gemfile.lock new file mode 100644 index 00000000000..cfecfb6fe69 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.1.gemfile.lock @@ -0,0 +1,219 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + mail (>= 2.7.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.10) + actionpack (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activesupport (= 7.0.10) + mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp + rails-dom-testing (~> 2.0) + actionpack (7.0.10) + actionview (= 7.0.10) + activesupport (= 7.0.10) + racc + rack (~> 2.0, >= 2.2.4) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (7.0.10) + actionpack (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.0.10) + activesupport (= 7.0.10) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.3.6) + activemodel (7.0.10) + activesupport (= 7.0.10) + activerecord (7.0.10) + activemodel (= 7.0.10) + activesupport (= 7.0.10) + activestorage (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activesupport (= 7.0.10) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (7.0.10) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) + tzinfo (~> 2.0) + base64 (0.1.2) + benchmark (0.5.0) + bigdecimal (1.4.4) + builder (3.3.0) + cgi (0.5.1) + concurrent-ruby (1.3.7) + crass (1.0.6) + date (3.5.1) + debug (1.11.1) + irb (~> 1.10) + reline (>= 0.3.8) + drb (2.2.3) + erb (4.0.4.1) + cgi (>= 0.3.3) + erubi (1.13.1) + globalid (1.3.0) + activesupport (>= 6.1) + i18n (1.14.8) + concurrent-ruby (~> 1.0) + io-console (0.8.2) + irb (1.18.0) + pp (>= 0.6.0) + prism (>= 1.3.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + logger (1.7.0) + loofah (2.25.1) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.9.0) + logger + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.2.1) + method_source (1.1.0) + mini_mime (1.1.5) + minitest (5.27.0) + mutex_m (0.2.0) + net-imap (0.5.15) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.1) + net-protocol + nio4r (2.7.5) + nokogiri (1.18.10-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.10-x86_64-linux-gnu) + racc (~> 1.4) + pp (0.6.3) + prettyprint + prettyprint (0.2.0) + prism (1.9.0) + psych (5.4.0) + date + stringio + puma (5.6.9) + nio4r (~> 2.0) + racc (1.8.1) + rack (2.2.23) + rack-test (2.2.0) + rack (>= 1.3) + rails (7.0.10) + actioncable (= 7.0.10) + actionmailbox (= 7.0.10) + actionmailer (= 7.0.10) + actionpack (= 7.0.10) + actiontext (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activemodel (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + bundler (>= 1.15.0) + railties (= 7.0.10) + rails-dom-testing (2.3.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + method_source + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) + rake (13.4.2) + rdoc (7.2.0) + erb + psych (>= 4.0.0) + tsort + reline (0.6.3) + io-console (~> 0.5) + securerandom (0.4.1) + sprockets (4.2.2) + concurrent-ruby (~> 1.0) + logger + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) + sprockets (>= 3.0.0) + sqlite3 (1.7.3-aarch64-linux) + sqlite3 (1.7.3-x86_64-linux) + stringio (3.2.0) + thor (1.5.0) + timeout (0.6.1) + tsort (0.2.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + websocket-driver (0.8.1) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + zeitwerk (2.6.18) + +PLATFORMS + aarch64-linux + x86_64-linux + +DEPENDENCIES + base64 (~> 0.1.0) + bigdecimal (~> 1.2, >= 1.2.7) + debug + i18n (< 1.15) + mutex_m (~> 0.2.0) + puma (~> 5.0) + rails (~> 7.0.3) + sprockets-rails + sqlite3 (~> 1.4) + tzinfo-data + +BUNDLED WITH + 2.4.22 diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.2.gemfile b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.2.gemfile new file mode 100644 index 00000000000..e44b8062897 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.2.gemfile @@ -0,0 +1 @@ +eval_gemfile File.expand_path("common.gemfile", __dir__) diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.2.gemfile.lock b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.2.gemfile.lock new file mode 100644 index 00000000000..188b29e9ad4 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.2.gemfile.lock @@ -0,0 +1,242 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + mail (>= 2.7.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.10) + actionpack (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activesupport (= 7.0.10) + mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp + rails-dom-testing (~> 2.0) + actionpack (7.0.10) + actionview (= 7.0.10) + activesupport (= 7.0.10) + racc + rack (~> 2.0, >= 2.2.4) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (7.0.10) + actionpack (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.0.10) + activesupport (= 7.0.10) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.3.6) + activemodel (7.0.10) + activesupport (= 7.0.10) + activerecord (7.0.10) + activemodel (= 7.0.10) + activesupport (= 7.0.10) + activestorage (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activesupport (= 7.0.10) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (7.0.10) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) + tzinfo (~> 2.0) + base64 (0.1.2) + benchmark (0.5.0) + bigdecimal (1.4.4) + builder (3.3.0) + concurrent-ruby (1.3.7) + crass (1.0.6) + date (3.5.1) + debug (1.11.1) + irb (~> 1.10) + reline (>= 0.3.8) + drb (2.2.3) + erb (6.0.4) + erubi (1.13.1) + globalid (1.3.0) + activesupport (>= 6.1) + i18n (1.15.1) + concurrent-ruby (~> 1.0) + io-console (0.8.2) + irb (1.18.0) + pp (>= 0.6.0) + prism (>= 1.3.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + logger (1.7.0) + loofah (2.25.1) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.9.0) + logger + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.2.1) + method_source (1.1.0) + mini_mime (1.1.5) + minitest (6.0.6) + drb (~> 2.0) + prism (~> 1.5) + mutex_m (0.2.0) + net-imap (0.6.4.1) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.1) + net-protocol + nio4r (2.7.5) + nokogiri (1.19.3-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.3-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.19.3-arm-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.3-arm-linux-musl) + racc (~> 1.4) + nokogiri (1.19.3-arm64-darwin) + racc (~> 1.4) + nokogiri (1.19.3-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.19.3-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.3-x86_64-linux-musl) + racc (~> 1.4) + pp (0.6.3) + prettyprint + prettyprint (0.2.0) + prism (1.9.0) + psych (5.4.0) + date + stringio + puma (5.6.9) + nio4r (~> 2.0) + racc (1.8.1) + rack (2.2.23) + rack-test (2.2.0) + rack (>= 1.3) + rails (7.0.10) + actioncable (= 7.0.10) + actionmailbox (= 7.0.10) + actionmailer (= 7.0.10) + actionpack (= 7.0.10) + actiontext (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activemodel (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + bundler (>= 1.15.0) + railties (= 7.0.10) + rails-dom-testing (2.3.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + method_source + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) + rake (13.4.2) + rdoc (7.2.0) + erb + psych (>= 4.0.0) + tsort + reline (0.6.3) + io-console (~> 0.5) + securerandom (0.4.1) + sprockets (4.2.2) + concurrent-ruby (~> 1.0) + logger + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) + sprockets (>= 3.0.0) + sqlite3 (1.7.3-aarch64-linux) + sqlite3 (1.7.3-arm-linux) + sqlite3 (1.7.3-arm64-darwin) + sqlite3 (1.7.3-x86_64-darwin) + sqlite3 (1.7.3-x86_64-linux) + stringio (3.2.0) + thor (1.5.0) + timeout (0.6.1) + tsort (0.2.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + websocket-driver (0.8.1) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + zeitwerk (2.8.2) + +PLATFORMS + aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl + arm-linux + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86_64-darwin + x86_64-linux + x86_64-linux-gnu + x86_64-linux-musl + +DEPENDENCIES + base64 (~> 0.1.0) + bigdecimal (~> 1.2, >= 1.2.7) + debug + mutex_m (~> 0.2.0) + puma (~> 5.0) + rails (~> 7.0.3) + sprockets-rails + sqlite3 (~> 1.4) + tzinfo-data + +BUNDLED WITH + 2.7.2 diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.3.gemfile b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.3.gemfile new file mode 100644 index 00000000000..e44b8062897 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.3.gemfile @@ -0,0 +1 @@ +eval_gemfile File.expand_path("common.gemfile", __dir__) diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.3.gemfile.lock b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.3.gemfile.lock new file mode 100644 index 00000000000..188b29e9ad4 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.3.gemfile.lock @@ -0,0 +1,242 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + mail (>= 2.7.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.10) + actionpack (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activesupport (= 7.0.10) + mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp + rails-dom-testing (~> 2.0) + actionpack (7.0.10) + actionview (= 7.0.10) + activesupport (= 7.0.10) + racc + rack (~> 2.0, >= 2.2.4) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (7.0.10) + actionpack (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.0.10) + activesupport (= 7.0.10) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.3.6) + activemodel (7.0.10) + activesupport (= 7.0.10) + activerecord (7.0.10) + activemodel (= 7.0.10) + activesupport (= 7.0.10) + activestorage (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activesupport (= 7.0.10) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (7.0.10) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) + tzinfo (~> 2.0) + base64 (0.1.2) + benchmark (0.5.0) + bigdecimal (1.4.4) + builder (3.3.0) + concurrent-ruby (1.3.7) + crass (1.0.6) + date (3.5.1) + debug (1.11.1) + irb (~> 1.10) + reline (>= 0.3.8) + drb (2.2.3) + erb (6.0.4) + erubi (1.13.1) + globalid (1.3.0) + activesupport (>= 6.1) + i18n (1.15.1) + concurrent-ruby (~> 1.0) + io-console (0.8.2) + irb (1.18.0) + pp (>= 0.6.0) + prism (>= 1.3.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + logger (1.7.0) + loofah (2.25.1) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.9.0) + logger + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.2.1) + method_source (1.1.0) + mini_mime (1.1.5) + minitest (6.0.6) + drb (~> 2.0) + prism (~> 1.5) + mutex_m (0.2.0) + net-imap (0.6.4.1) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.1) + net-protocol + nio4r (2.7.5) + nokogiri (1.19.3-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.3-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.19.3-arm-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.3-arm-linux-musl) + racc (~> 1.4) + nokogiri (1.19.3-arm64-darwin) + racc (~> 1.4) + nokogiri (1.19.3-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.19.3-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.3-x86_64-linux-musl) + racc (~> 1.4) + pp (0.6.3) + prettyprint + prettyprint (0.2.0) + prism (1.9.0) + psych (5.4.0) + date + stringio + puma (5.6.9) + nio4r (~> 2.0) + racc (1.8.1) + rack (2.2.23) + rack-test (2.2.0) + rack (>= 1.3) + rails (7.0.10) + actioncable (= 7.0.10) + actionmailbox (= 7.0.10) + actionmailer (= 7.0.10) + actionpack (= 7.0.10) + actiontext (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activemodel (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + bundler (>= 1.15.0) + railties (= 7.0.10) + rails-dom-testing (2.3.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + method_source + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) + rake (13.4.2) + rdoc (7.2.0) + erb + psych (>= 4.0.0) + tsort + reline (0.6.3) + io-console (~> 0.5) + securerandom (0.4.1) + sprockets (4.2.2) + concurrent-ruby (~> 1.0) + logger + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) + sprockets (>= 3.0.0) + sqlite3 (1.7.3-aarch64-linux) + sqlite3 (1.7.3-arm-linux) + sqlite3 (1.7.3-arm64-darwin) + sqlite3 (1.7.3-x86_64-darwin) + sqlite3 (1.7.3-x86_64-linux) + stringio (3.2.0) + thor (1.5.0) + timeout (0.6.1) + tsort (0.2.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + websocket-driver (0.8.1) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + zeitwerk (2.8.2) + +PLATFORMS + aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl + arm-linux + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86_64-darwin + x86_64-linux + x86_64-linux-gnu + x86_64-linux-musl + +DEPENDENCIES + base64 (~> 0.1.0) + bigdecimal (~> 1.2, >= 1.2.7) + debug + mutex_m (~> 0.2.0) + puma (~> 5.0) + rails (~> 7.0.3) + sprockets-rails + sqlite3 (~> 1.4) + tzinfo-data + +BUNDLED WITH + 2.7.2 diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.4.gemfile b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.4.gemfile new file mode 100644 index 00000000000..e44b8062897 --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.4.gemfile @@ -0,0 +1 @@ +eval_gemfile File.expand_path("common.gemfile", __dir__) diff --git a/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.4.gemfile.lock b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.4.gemfile.lock new file mode 100644 index 00000000000..96bc8fdd64d --- /dev/null +++ b/lib-injection/build/docker/ruby/lib_injection_rails_app/gemfiles/ruby-3.4.gemfile.lock @@ -0,0 +1,223 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + mail (>= 2.7.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.10) + actionpack (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activesupport (= 7.0.10) + mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp + rails-dom-testing (~> 2.0) + actionpack (7.0.10) + actionview (= 7.0.10) + activesupport (= 7.0.10) + racc + rack (~> 2.0, >= 2.2.4) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (7.0.10) + actionpack (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.0.10) + activesupport (= 7.0.10) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (7.0.10) + activesupport (= 7.0.10) + globalid (>= 0.3.6) + activemodel (7.0.10) + activesupport (= 7.0.10) + activerecord (7.0.10) + activemodel (= 7.0.10) + activesupport (= 7.0.10) + activestorage (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activesupport (= 7.0.10) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (7.0.10) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) + tzinfo (~> 2.0) + base64 (0.1.2) + benchmark (0.5.0) + bigdecimal (1.4.4) + builder (3.3.0) + concurrent-ruby (1.3.7) + crass (1.0.6) + date (3.5.1) + debug (1.11.1) + irb (~> 1.10) + reline (>= 0.3.8) + drb (2.2.3) + erb (6.0.4) + erubi (1.13.1) + globalid (1.3.0) + activesupport (>= 6.1) + i18n (1.15.1) + concurrent-ruby (~> 1.0) + io-console (0.8.2) + irb (1.18.0) + pp (>= 0.6.0) + prism (>= 1.3.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + logger (1.7.0) + loofah (2.25.1) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.9.0) + logger + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.2.1) + method_source (1.1.0) + mini_mime (1.1.5) + mini_portile2 (2.8.9) + minitest (6.0.6) + drb (~> 2.0) + prism (~> 1.5) + mutex_m (0.2.0) + net-imap (0.6.4.1) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.1) + net-protocol + nio4r (2.7.5) + nokogiri (1.19.3) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + nokogiri (1.19.3-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.3-x86_64-linux-gnu) + racc (~> 1.4) + pp (0.6.3) + prettyprint + prettyprint (0.2.0) + prism (1.9.0) + psych (5.4.0) + date + stringio + puma (5.6.9) + nio4r (~> 2.0) + racc (1.8.1) + rack (2.2.23) + rack-test (2.2.0) + rack (>= 1.3) + rails (7.0.10) + actioncable (= 7.0.10) + actionmailbox (= 7.0.10) + actionmailer (= 7.0.10) + actionpack (= 7.0.10) + actiontext (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activemodel (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) + bundler (>= 1.15.0) + railties (= 7.0.10) + rails-dom-testing (2.3.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) + method_source + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) + rake (13.4.2) + rdoc (7.2.0) + erb + psych (>= 4.0.0) + tsort + reline (0.6.3) + io-console (~> 0.5) + securerandom (0.4.1) + sprockets (4.2.2) + concurrent-ruby (~> 1.0) + logger + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) + sprockets (>= 3.0.0) + sqlite3 (1.7.3) + mini_portile2 (~> 2.8.0) + stringio (3.2.0) + thor (1.5.0) + timeout (0.6.1) + tsort (0.2.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + websocket-driver (0.8.1) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + zeitwerk (2.8.2) + +PLATFORMS + aarch64-linux + ruby + x86_64-linux + +DEPENDENCIES + base64 (~> 0.1.0) + bigdecimal (~> 1.2, >= 1.2.7) + debug + mutex_m (~> 0.2.0) + puma (~> 5.0) + rails (~> 7.0.3) + sprockets-rails + sqlite3 (~> 1.4) + tzinfo-data + +BUNDLED WITH + 2.7.2 From 1f02cf8cc25449ff5d596b77479585d450e68b11 Mon Sep 17 00:00:00 2001 From: Loic Nageleisen Date: Thu, 18 Jun 2026 16:45:27 +0200 Subject: [PATCH 2/3] Use committed Ruby SSI lockfiles Select the lockfile matching the installed Ruby minor before running Bundler in Ruby SSI and lib-injection Rails Dockerfiles. This keeps deployment mode realistic while avoiding bundle lock --update during image builds, which made the apps resolve newly published transitive dependencies from Rubygems. --- .../dd-lib-ruby-init-test-rails-bundle-deploy/Dockerfile | 8 +++++--- .../ruby/dd-lib-ruby-init-test-rails-conflict/Dockerfile | 6 +++++- .../ruby/dd-lib-ruby-init-test-rails-explicit/Dockerfile | 7 +++++-- .../Dockerfile.lib_init_validator | 7 +++++-- .../ruby/dd-lib-ruby-init-test-rails-gemsrb/Dockerfile | 7 +++++-- .../Dockerfile.lib_init_validator | 7 +++++-- .../docker/ruby/dd-lib-ruby-init-test-rails/Dockerfile | 6 ++++-- .../Dockerfile.lib_init_validator | 6 ++++-- .../build/ssi/ruby/rails6-app-deployment-mode.Dockerfile | 8 ++++++-- utils/build/ssi/ruby/rails6-app-vendored-mode.Dockerfile | 6 +++++- utils/build/ssi/ruby/rails6-app.Dockerfile | 6 +++++- utils/build/ssi/ruby/ruby-app-deployment-mode.Dockerfile | 8 ++++++-- utils/build/ssi/ruby/ruby-app-vendored-mode.Dockerfile | 6 +++++- utils/build/ssi/ruby/ruby-app.Dockerfile | 6 +++++- 14 files changed, 70 insertions(+), 24 deletions(-) diff --git a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-bundle-deploy/Dockerfile b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-bundle-deploy/Dockerfile index 85ad09dbd64..874bd29bdc8 100644 --- a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-bundle-deploy/Dockerfile +++ b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-bundle-deploy/Dockerfile @@ -43,11 +43,13 @@ WORKDIR /app COPY lib_injection_rails_app /app # Install gems -RUN bundle config set --local deployment 'true' -RUN bundle install +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + bundle config set --local deployment 'true'; \ + bundle install # Set entrypoint ENTRYPOINT ["/bin/bash", "-c"] CMD ["bundle exec rails server -b 0.0.0.0 -p 18080"] - diff --git a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-conflict/Dockerfile b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-conflict/Dockerfile index 78fd347c4c7..1263898b734 100644 --- a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-conflict/Dockerfile +++ b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-conflict/Dockerfile @@ -42,6 +42,11 @@ WORKDIR /app # Add files COPY lib_injection_rails_app /app +# Use the lockfile for this Ruby version before introducing a conflict +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock + # Introducing a conflict RUN echo "gem 'debase-ruby_core_source', '0.10.15'" >> Gemfile @@ -52,4 +57,3 @@ RUN bundle install ENTRYPOINT ["/bin/bash", "-c"] CMD ["bin/rails server -b 0.0.0.0 -p 18080"] - diff --git a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-explicit/Dockerfile b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-explicit/Dockerfile index 90567aecae4..c79c7ff0f87 100644 --- a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-explicit/Dockerfile +++ b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-explicit/Dockerfile @@ -43,7 +43,11 @@ WORKDIR /app COPY lib_injection_rails_app /app # Replace with other gemfile and configure bundler to use it -RUN mv Gemfile TestGemfile && mv Gemfile.lock TestGemfile.lock +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + mv Gemfile TestGemfile; \ + mv Gemfile.lock TestGemfile.lock ENV BUNDLE_GEMFILE TestGemfile # Install gems @@ -53,4 +57,3 @@ RUN bundle install ENTRYPOINT ["/bin/bash", "-c"] CMD ["bundle exec rails server -b 0.0.0.0 -p 18080"] - diff --git a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-explicit/Dockerfile.lib_init_validator b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-explicit/Dockerfile.lib_init_validator index 12bd9d0964f..58db3e872e6 100644 --- a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-explicit/Dockerfile.lib_init_validator +++ b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-explicit/Dockerfile.lib_init_validator @@ -54,7 +54,11 @@ WORKDIR /app COPY lib_injection_rails_app /app # Replace with other gemfile and configure bundler to use it -RUN mv Gemfile TestGemfile && mv Gemfile.lock TestGemfile.lock +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + mv Gemfile TestGemfile; \ + mv Gemfile.lock TestGemfile.lock ENV BUNDLE_GEMFILE TestGemfile # Install gems @@ -64,4 +68,3 @@ RUN bundle install ENTRYPOINT ["/bin/bash", "-c"] CMD ["bundle exec rails server -b 0.0.0.0 -p 18080"] - diff --git a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-gemsrb/Dockerfile b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-gemsrb/Dockerfile index 034de02e81e..1e81d741b65 100644 --- a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-gemsrb/Dockerfile +++ b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-gemsrb/Dockerfile @@ -43,7 +43,11 @@ WORKDIR /app COPY lib_injection_rails_app /app # Replace Gemfile with gems.rb -RUN mv Gemfile gems.rb && mv Gemfile.lock gems.locked +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + mv Gemfile gems.rb; \ + mv Gemfile.lock gems.locked ENV BUNDLE_GEMFILE gems.rb # Install gems @@ -53,4 +57,3 @@ RUN bundle install ENTRYPOINT ["/bin/bash", "-c"] CMD ["bundle exec rails server -b 0.0.0.0 -p 18080"] - diff --git a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-gemsrb/Dockerfile.lib_init_validator b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-gemsrb/Dockerfile.lib_init_validator index 7a57ff89c64..b896d36aff6 100644 --- a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-gemsrb/Dockerfile.lib_init_validator +++ b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails-gemsrb/Dockerfile.lib_init_validator @@ -54,7 +54,11 @@ WORKDIR /app COPY lib_injection_rails_app /app # Replace Gemfile with gems.rb -RUN mv Gemfile gems.rb && mv Gemfile.lock gems.locked +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + mv Gemfile gems.rb; \ + mv Gemfile.lock gems.locked ENV BUNDLE_GEMFILE gems.rb # Install gems @@ -64,4 +68,3 @@ RUN bundle install ENTRYPOINT ["/bin/bash", "-c"] CMD ["bundle exec rails server -b 0.0.0.0 -p 18080"] - diff --git a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails/Dockerfile b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails/Dockerfile index 2fb845e6d7c..e2575a3f13c 100644 --- a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails/Dockerfile +++ b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails/Dockerfile @@ -43,10 +43,12 @@ WORKDIR /app COPY lib_injection_rails_app /app # Install gems -RUN bundle install +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + bundle install # Set entrypoint ENTRYPOINT ["/bin/bash", "-c"] CMD ["bin/rails server -b 0.0.0.0 -p 18080"] - diff --git a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails/Dockerfile.lib_init_validator b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails/Dockerfile.lib_init_validator index 03d2f4b2039..987995e2f60 100644 --- a/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails/Dockerfile.lib_init_validator +++ b/lib-injection/build/docker/ruby/dd-lib-ruby-init-test-rails/Dockerfile.lib_init_validator @@ -54,10 +54,12 @@ WORKDIR /app COPY lib_injection_rails_app /app # Install gems -RUN bundle install +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + bundle install # Set entrypoint ENTRYPOINT ["/bin/bash", "-c"] CMD ["bin/rails server -b 0.0.0.0 -p 18080"] - diff --git a/utils/build/ssi/ruby/rails6-app-deployment-mode.Dockerfile b/utils/build/ssi/ruby/rails6-app-deployment-mode.Dockerfile index 809d0257263..b0528109a8d 100644 --- a/utils/build/ssi/ruby/rails6-app-deployment-mode.Dockerfile +++ b/utils/build/ssi/ruby/rails6-app-deployment-mode.Dockerfile @@ -13,7 +13,11 @@ RUN rm -vf .ruby-version ENV HOME /root ENV RBENV_ROOT $HOME/.rbenv ENV PATH $RBENV_ROOT/shims:$RBENV_ROOT/bin:$PATH -RUN env DD_APM_INSTRUMENTATION_DEBUG=false sh -c 'bundle lock --update && bundle config set --local deployment true && bundle install && rbenv rehash' +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + env DD_APM_INSTRUMENTATION_DEBUG=false bundle config set --local deployment true; \ + env DD_APM_INSTRUMENTATION_DEBUG=false bundle install; \ + rbenv rehash EXPOSE 18080 CMD bin/rails server -b 0.0.0.0 -p 18080 - diff --git a/utils/build/ssi/ruby/rails6-app-vendored-mode.Dockerfile b/utils/build/ssi/ruby/rails6-app-vendored-mode.Dockerfile index 953ade31129..331d80ff65d 100644 --- a/utils/build/ssi/ruby/rails6-app-vendored-mode.Dockerfile +++ b/utils/build/ssi/ruby/rails6-app-vendored-mode.Dockerfile @@ -14,6 +14,10 @@ ENV HOME /root ENV RBENV_ROOT $HOME/.rbenv ENV PATH $RBENV_ROOT/shims:$RBENV_ROOT/bin:$PATH ENV BUNDLE_PATH=/bundle -RUN env DD_APM_INSTRUMENTATION_DEBUG=false bundle install && rbenv rehash +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + env DD_APM_INSTRUMENTATION_DEBUG=false bundle install; \ + rbenv rehash EXPOSE 18080 CMD bin/rails server -b 0.0.0.0 -p 18080 diff --git a/utils/build/ssi/ruby/rails6-app.Dockerfile b/utils/build/ssi/ruby/rails6-app.Dockerfile index de613885360..aae9b2efef2 100644 --- a/utils/build/ssi/ruby/rails6-app.Dockerfile +++ b/utils/build/ssi/ruby/rails6-app.Dockerfile @@ -13,6 +13,10 @@ RUN rm -vf .ruby-version ENV HOME /root ENV RBENV_ROOT $HOME/.rbenv ENV PATH $RBENV_ROOT/shims:$RBENV_ROOT/bin:$PATH -RUN env DD_APM_INSTRUMENTATION_DEBUG=false bundle install && rbenv rehash +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + env DD_APM_INSTRUMENTATION_DEBUG=false bundle install; \ + rbenv rehash EXPOSE 18080 CMD rails server -b 0.0.0.0 -p 18080 diff --git a/utils/build/ssi/ruby/ruby-app-deployment-mode.Dockerfile b/utils/build/ssi/ruby/ruby-app-deployment-mode.Dockerfile index 4f4f8acefca..6b9aa39d875 100644 --- a/utils/build/ssi/ruby/ruby-app-deployment-mode.Dockerfile +++ b/utils/build/ssi/ruby/ruby-app-deployment-mode.Dockerfile @@ -13,7 +13,11 @@ RUN rm -vf .ruby-version ENV HOME /root ENV RBENV_ROOT $HOME/.rbenv ENV PATH $RBENV_ROOT/shims:$RBENV_ROOT/bin:$PATH -RUN env DD_APM_INSTRUMENTATION_DEBUG=false sh -c 'bundle lock --update && bundle config set --local deployment true && bundle install && rbenv rehash' +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + env DD_APM_INSTRUMENTATION_DEBUG=false bundle config set --local deployment true; \ + env DD_APM_INSTRUMENTATION_DEBUG=false bundle install; \ + rbenv rehash EXPOSE 18080 CMD bin/rails server -b 0.0.0.0 -p 18080 - diff --git a/utils/build/ssi/ruby/ruby-app-vendored-mode.Dockerfile b/utils/build/ssi/ruby/ruby-app-vendored-mode.Dockerfile index 4effdc93f90..33e1cba637f 100644 --- a/utils/build/ssi/ruby/ruby-app-vendored-mode.Dockerfile +++ b/utils/build/ssi/ruby/ruby-app-vendored-mode.Dockerfile @@ -14,6 +14,10 @@ ENV HOME /root ENV RBENV_ROOT $HOME/.rbenv ENV PATH $RBENV_ROOT/shims:$RBENV_ROOT/bin:$PATH ENV BUNDLE_PATH=/bundle -RUN env DD_APM_INSTRUMENTATION_DEBUG=false bundle install && rbenv rehash +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + env DD_APM_INSTRUMENTATION_DEBUG=false bundle install; \ + rbenv rehash EXPOSE 18080 CMD bin/rails server -b 0.0.0.0 -p 18080 diff --git a/utils/build/ssi/ruby/ruby-app.Dockerfile b/utils/build/ssi/ruby/ruby-app.Dockerfile index cb31bd1bb04..d1835850105 100644 --- a/utils/build/ssi/ruby/ruby-app.Dockerfile +++ b/utils/build/ssi/ruby/ruby-app.Dockerfile @@ -13,6 +13,10 @@ RUN rm -vf .ruby-version ENV HOME /root ENV RBENV_ROOT $HOME/.rbenv ENV PATH $RBENV_ROOT/shims:$RBENV_ROOT/bin:$PATH -RUN env DD_APM_INSTRUMENTATION_DEBUG=false bundle install && rbenv rehash +RUN set -eu; \ + ruby_minor="$(ruby -e 'print RUBY_VERSION.split(".").take(2).join(".")')"; \ + cp "gemfiles/ruby-${ruby_minor}.gemfile.lock" Gemfile.lock; \ + env DD_APM_INSTRUMENTATION_DEBUG=false bundle install; \ + rbenv rehash EXPOSE 18080 CMD rails server -b 0.0.0.0 -p 18080 From d3b2ab6e406a7646ca814620448d4966188681b8 Mon Sep 17 00:00:00 2001 From: Loic Nageleisen Date: Thu, 18 Jun 2026 16:50:56 +0200 Subject: [PATCH 3/3] Restore Ruby 3.1 deployment SSI jobs Re-enable RB31 for ruby-app-deployment-mode now that the Dockerfiles install from committed per-Ruby lockfiles instead of updating dependencies during image builds. --- utils/scripts/ci_orchestrators/docker_ssi.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/scripts/ci_orchestrators/docker_ssi.json b/utils/scripts/ci_orchestrators/docker_ssi.json index b2c32fe7e91..8f197dcac14 100644 --- a/utils/scripts/ci_orchestrators/docker_ssi.json +++ b/utils/scripts/ci_orchestrators/docker_ssi.json @@ -251,6 +251,7 @@ "allowed_runtime_versions": [ "RB27", "RB30", + "RB31", "RB32", "RB33", "RB34" @@ -261,6 +262,7 @@ "allowed_runtime_versions": [ "RB27", "RB30", + "RB31", "RB32", "RB33", "RB34"