From def7334e414ba05d8bd42b085a5b12b1c72bcfac Mon Sep 17 00:00:00 2001 From: ARI WG Git Bot Date: Tue, 7 Apr 2026 08:29:07 +0000 Subject: [PATCH 1/6] Add rubygems 4.0.9, remove rubygems 3.6.8 for stack(s) cflinuxfs4, cflinuxfs5 --- manifest.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/manifest.yml b/manifest.yml index 9f7a60274..1334aaf27 100644 --- a/manifest.yml +++ b/manifest.yml @@ -210,14 +210,14 @@ dependencies: source: https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.7.tar.gz source_sha256: 23815a6d095696f7919090fdc3e2f9459b2c83d57224b2e446ce1f5f7333ef36 - name: rubygems - version: 3.6.8 - uri: https://buildpacks.cloudfoundry.org/dependencies/rubygems/rubygems_3.6.8_linux_noarch_any-stack_7a02eb5e.tgz - sha256: 7a02eb5e5cf4ed6ad6a4245babf69f1f4c6acc1cbdf6d126dee8bf73dca7f8de + version: 4.0.9 + uri: https://buildpacks.cloudfoundry.org/dependencies/rubygems/rubygems_4.0.9_linux_noarch_any-stack_99452d87.tgz + sha256: 99452d87d70b91f792f752e6dead71af3922cebe96c140473a2c36cc24ab89c3 cf_stacks: - cflinuxfs4 - - cflinuxfs3 - source: https://rubygems.org/rubygems/rubygems-3.6.8.tgz - source_sha256: da5340b42ba3ddc5ede4a6b948ffa5b409d48cb119e2937e27e4c0b13bf9c390 + - cflinuxfs5 + source: https://rubygems.org/rubygems/rubygems-4.0.9.tgz + source_sha256: 39b1e2c878946e420116c3c26e4e708c0ddbdf7cd4a13c48dd0fc0774c7add8d - name: yarn version: 1.22.22 uri: https://buildpacks.cloudfoundry.org/dependencies/yarn/yarn_1.22.22_linux_noarch_any-stack_b6132b86.tgz From 6036e2ab1d3714ae17643f33de861b7f5c8dd7a6 Mon Sep 17 00:00:00 2001 From: Tsvetelina Marinova Date: Tue, 7 Apr 2026 13:50:04 +0300 Subject: [PATCH 2/6] Add cflinuxfs5 stack to bundler --- manifest.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manifest.yml b/manifest.yml index 1334aaf27..567cb29b1 100644 --- a/manifest.yml +++ b/manifest.yml @@ -30,6 +30,7 @@ dependencies: cf_stacks: - cflinuxfs4 - cflinuxfs3 + - cflinuxfs5 source: https://github.com/rubygems/rubygems/tree/master/bundlertree/v2.6.5 source_sha256: 9d0eef5779ee569c43f317484f034081f58e9cf7529af6cd59d15266e46a72a3 - name: bundler @@ -38,6 +39,7 @@ dependencies: sha256: 54c53519ff41ac0ad0d498086039f6ee2eac5d1bdef5ad31ab33e8ab2c2b1e21 cf_stacks: - cflinuxfs4 + - cflinuxfs5 source: https://github.com/rubygems/rubygems/tree/master/bundlertree/v2.7.2 source_sha256: 1decaf9e2e1acb91b6586a2925c8f3f6da2334a82731a62ff2ded1b83c283871 - name: jruby @@ -216,6 +218,7 @@ dependencies: cf_stacks: - cflinuxfs4 - cflinuxfs5 + - cflinuxfs5 source: https://rubygems.org/rubygems/rubygems-4.0.9.tgz source_sha256: 39b1e2c878946e420116c3c26e4e708c0ddbdf7cd4a13c48dd0fc0774c7add8d - name: yarn From 4d0d1af36d85c5704bfea0e4a332eaff1a121d0c Mon Sep 17 00:00:00 2001 From: Tsvetelina Marinova Date: Tue, 7 Apr 2026 13:50:54 +0300 Subject: [PATCH 3/6] Remove duplicate cflinuxfs5 from cf_stacks Removed duplicate entry for cflinuxfs5 in cf_stacks. --- manifest.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/manifest.yml b/manifest.yml index 567cb29b1..f1049ec6c 100644 --- a/manifest.yml +++ b/manifest.yml @@ -218,7 +218,6 @@ dependencies: cf_stacks: - cflinuxfs4 - cflinuxfs5 - - cflinuxfs5 source: https://rubygems.org/rubygems/rubygems-4.0.9.tgz source_sha256: 39b1e2c878946e420116c3c26e4e708c0ddbdf7cd4a13c48dd0fc0774c7add8d - name: yarn From 601498ab8c7ccef14b45e2c13a48591dc235bcec Mon Sep 17 00:00:00 2001 From: ivanovac Date: Tue, 7 Apr 2026 17:06:05 +0300 Subject: [PATCH 4/6] Fix bundler version detection for rubygems 4.x output format --- src/ruby/versions/ruby.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ruby/versions/ruby.go b/src/ruby/versions/ruby.go index 12397ccb3..206eaa8b3 100644 --- a/src/ruby/versions/ruby.go +++ b/src/ruby/versions/ruby.go @@ -58,7 +58,7 @@ func (v *Versions) GetBundlerVersion() (string, error) { return "", err } - re := regexp.MustCompile(`Bundler version (\d+\.\d+\.\d+) .*`) + re := regexp.MustCompile(`(?:Bundler version )?(\d+\.\d+\.\d+) .*`) match := re.FindStringSubmatch(stdout.String()) if len(match) != 2 { @@ -191,9 +191,11 @@ func (v *Versions) GemMajorVersion(gem string) (int, error) { } } -//Should return true if either: +// Should return true if either: // (1) the only platform in the Gemfile.lock is windows (mingw/mswin) -// -or- +// +// -or- +// // (2) the Gemfile.lock line endings are /r/n, rather than just /n func (v *Versions) HasWindowsGemfileLock() (bool, error) { gemfileLockPath := v.Gemfile() + ".lock" From bf70bfd21bacebc275f9a66399670f17c67d49f3 Mon Sep 17 00:00:00 2001 From: ivanovac Date: Tue, 7 Apr 2026 17:07:45 +0300 Subject: [PATCH 5/6] Fix bundler version detection for rubygems 4.x --- src/ruby/versions/ruby.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ruby/versions/ruby.go b/src/ruby/versions/ruby.go index 206eaa8b3..f61d13297 100644 --- a/src/ruby/versions/ruby.go +++ b/src/ruby/versions/ruby.go @@ -47,6 +47,12 @@ type output struct { } func (v *Versions) GetBundlerVersion() (string, error) { + if v.bundlerVersion != "" { + return v.bundlerVersion, nil + } + + // Fallback: run `bundle version` for environments where bundlerVersion + // was not populated from the manifest. stdout := bytes.NewBuffer(nil) cmd := exec.Command("bundle", "version") @@ -58,6 +64,8 @@ func (v *Versions) GetBundlerVersion() (string, error) { return "", err } + // rubygems >= 4.x changed `bundle version` output from + // "Bundler version X.Y.Z (...)" to "X.Y.Z (...)". re := regexp.MustCompile(`(?:Bundler version )?(\d+\.\d+\.\d+) .*`) match := re.FindStringSubmatch(stdout.String()) From 36e31c1df9a6ab3d51df634000a91b87d01791ee Mon Sep 17 00:00:00 2001 From: Tsvetelina Marinova Date: Tue, 7 Apr 2026 17:18:53 +0300 Subject: [PATCH 6/6] Removed duplicate entries for cflinuxfs5 Removed duplicate entries for cflinuxfs3 and cflinuxfs5 from cf_stacks. --- manifest.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifest.yml b/manifest.yml index c68c7631b..2734d1698 100644 --- a/manifest.yml +++ b/manifest.yml @@ -28,9 +28,8 @@ dependencies: uri: https://buildpacks.cloudfoundry.org/dependencies/bundler/bundler_2.6.5_linux_noarch_any-stack_cbc59f6d.tgz sha256: cbc59f6dfcae65c6c5eaac1b748bc1c1a7120f6b73b3a723d56d8a7e2850dafc cf_stacks: - - cflinuxfs4 - - cflinuxfs5 - cflinuxfs3 + - cflinuxfs4 - cflinuxfs5 source: https://github.com/rubygems/rubygems/tree/master/bundlertree/v2.6.5 source_sha256: 9d0eef5779ee569c43f317484f034081f58e9cf7529af6cd59d15266e46a72a3