Skip to content

Commit 04e0a37

Browse files
Fix Dependabot security update for concurrent-ruby in react-native (react#57355)
Summary: Changelog: [INTERNAL] Fix Dependabot security update for concurrent-ruby in react-native The Dependabot GitHub Action on `react/react-native` `main` has been failing repeatedly because of `concurrent-ruby`. A security advisory marks `concurrent-ruby < 1.3.7` as affected (patched in `1.3.7`), but all three RN Gemfiles pin `gem 'concurrent-ruby', '<= 1.3.4'`. Dependabot cannot satisfy the advisory under that pin, so it opens a security PR to bump to `1.3.7` and then, on every subsequent run, reports `pull_request_exists_for_latest_version` as a hard error — failing the check and regenerating the internal CI task. The `<= 1.3.4` upper bound was originally added because `concurrent-ruby 1.3.5` dropped its `logger` dependency, which broke older `activesupport`/CocoaPods setups. That cause is already mitigated: every Gemfile now explicitly lists `gem 'logger'`. The upper-bound pin is therefore obsolete. This change relaxes the constraint from `<= 1.3.4` to `>= 1.3.7` in all three Gemfiles (root, `private/helloworld`, `packages/rn-tester`) and updates the two corresponding `Gemfile.lock` files to resolve `concurrent-ruby 1.3.7`. `1.3.7` introduces no new transitive dependencies over `1.3.4`, so no other lockfile entries change. With the advisory satisfied on `main`, Dependabot stops recreating the security PR and the recurring check failure stops. Differential Revision: D109967250
1 parent b67b7ba commit 04e0a37

5 files changed

Lines changed: 28 additions & 7 deletions

File tree

Gemfile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@ source 'https://rubygems.org'
33
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
44
ruby ">= 2.6.10"
55

6+
# concurrent-ruby >= 1.3.5 no longer requires 'logger', and activesupport 6.1.x
7+
# references Logger without requiring it, so `bundle exec pod` crashes with
8+
# "uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger". A bare
9+
# `gem 'logger'` is not enough because bundler does not auto-require Gemfile gems;
10+
# require it here so it is loaded before cocoapods loads active_support.
11+
require 'logger'
12+
613
gem 'cocoapods', '~> 1.13', '!= 1.15.0', '!= 1.15.1'
714
gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
815
gem 'xcodeproj', '< 1.26.0'
9-
gem 'concurrent-ruby', '<= 1.3.4'
16+
gem 'concurrent-ruby', '>= 1.3.7'
1017

1118
# Ruby 3.4.0 has removed some libraries from the standard library.
1219
gem 'bigdecimal'

Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ GEM
5555
netrc (~> 0.11)
5656
cocoapods-try (1.2.0)
5757
colored2 (3.1.2)
58-
concurrent-ruby (1.2.2)
58+
concurrent-ruby (1.3.7)
5959
escape (0.0.4)
6060
ethon (0.16.0)
6161
ffi (>= 1.15.0)
@@ -97,7 +97,7 @@ DEPENDENCIES
9797
benchmark
9898
bigdecimal
9999
cocoapods (~> 1.13, != 1.15.1, != 1.15.0)
100-
concurrent-ruby (<= 1.3.4)
100+
concurrent-ruby (>= 1.3.7)
101101
logger
102102
mutex_m
103103
xcodeproj (< 1.26.0)

packages/rn-tester/Gemfile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,20 @@ source 'https://rubygems.org'
33
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
44
ruby ">= 2.6.10"
55

6+
# concurrent-ruby >= 1.3.5 no longer requires 'logger', and activesupport 6.1.x
7+
# references Logger without requiring it, so `bundle exec pod` crashes with
8+
# "uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger". A bare
9+
# `gem 'logger'` is not enough because bundler does not auto-require Gemfile gems;
10+
# require it here so it is loaded before cocoapods loads active_support.
11+
require 'logger'
12+
613
# Cocoapods 1.15 introduced a bug which break the build. We will remove the upper
714
# bound in the template on Cocoapods with next React Native release.
815
gem 'cocoapods', '~> 1.13', '!= 1.15.0', '!= 1.15.1'
916
gem 'rexml'
1017
gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
1118
gem 'xcodeproj', '< 1.26.0'
12-
gem 'concurrent-ruby', '<= 1.3.4'
19+
gem 'concurrent-ruby', '>= 1.3.7'
1320

1421
# Ruby 3.4.0 has removed some libraries from the standard library.
1522
gem 'bigdecimal'

private/helloworld/Gemfile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,17 @@ source 'https://rubygems.org'
22

33
ruby ">= 2.6.10"
44

5+
# concurrent-ruby >= 1.3.5 no longer requires 'logger', and activesupport 6.1.x
6+
# references Logger without requiring it, so `bundle exec pod` crashes with
7+
# "uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger". A bare
8+
# `gem 'logger'` is not enough because bundler does not auto-require Gemfile gems;
9+
# require it here so it is loaded before cocoapods loads active_support.
10+
require 'logger'
11+
512
gem 'cocoapods', '~> 1.13', '!= 1.15.0', '!= 1.15.1'
613
gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
714
gem 'xcodeproj', '< 1.26.0'
8-
gem 'concurrent-ruby', '<= 1.3.4'
15+
gem 'concurrent-ruby', '>= 1.3.7'
916

1017
# Ruby 3.4.0 has removed some libraries from the standard library.
1118
gem 'bigdecimal'

private/helloworld/Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ GEM
5858
netrc (~> 0.11)
5959
cocoapods-try (1.2.0)
6060
colored2 (3.1.2)
61-
concurrent-ruby (1.3.4)
61+
concurrent-ruby (1.3.7)
6262
escape (0.0.4)
6363
ethon (0.16.0)
6464
ffi (>= 1.15.0)
@@ -101,7 +101,7 @@ DEPENDENCIES
101101
benchmark
102102
bigdecimal
103103
cocoapods (~> 1.13, != 1.15.1, != 1.15.0)
104-
concurrent-ruby (<= 1.3.4)
104+
concurrent-ruby (>= 1.3.7)
105105
ffi (>= 1.17.2)
106106
logger
107107
mutex_m

0 commit comments

Comments
 (0)