Skip to content

Commit 7975ef0

Browse files
committed
chore: upgrade Ruby to 3.4.1 and fix CocoaPods on Blacksmith runners
Blacksmith macOS images ship Ruby 3.4, which removed the 'kconv' stdlib that xcodeproj 1.27.0 still requires. The Rock Remote Build - iOS job failed because remote-build-ios.yml never ran ruby/setup-ruby, so it inherited whatever Ruby the image shipped. - Bump .ruby-version from 3.3.4 to 3.4.1 (first stable release in the 3.4 line; upstream 3.4.0 reports as '3.4.0dev' which fails bundler's '>= 3.4.0' check) - Add gem 'nkf' to the Gemfile to replace the removed 'kconv' stdlib - Raise Gemfile ruby constraint to >= 3.4.1 - Add ruby/setup-ruby step to remote-build-ios.yml so the Rock action uses the pinned Ruby instead of the image default - Regenerate Gemfile.lock and ios/Podfile.lock under the new toolchain Made-with: Cursor
1 parent 7d73cd8 commit 7975ef0

5 files changed

Lines changed: 41 additions & 32 deletions

File tree

.github/workflows/remote-build-ios.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ jobs:
4545
with:
4646
IS_HYBRID_BUILD: ${{ matrix.is_hybrid_build && 'true' || 'false' }}
4747

48+
- name: Setup Ruby
49+
# v1.229.0
50+
uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252
51+
with:
52+
bundler-cache: true
53+
4854
- name: Checkout specific Mobile-Expensify PR
4955
if: ${{ matrix.is_hybrid_build && github.event.inputs.mobile_expensify_pr }}
5056
run: |

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.3.4
1+
3.4.1

Gemfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
source "https://rubygems.org"
22

33
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
4-
ruby ">= 3.3.4"
4+
ruby ">= 3.4.1"
55

66
gem "cocoapods", "= 1.16.2"
77
gem 'activesupport', '>= 7.2.3.1'
@@ -19,3 +19,4 @@ gem 'bigdecimal'
1919
gem 'logger'
2020
gem 'benchmark'
2121
gem 'mutex_m'
22+
gem 'nkf'

Gemfile.lock

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ GEM
260260
nap (1.1.0)
261261
naturally (2.3.0)
262262
netrc (0.11.0)
263+
nkf (0.2.0)
263264
openssl (3.3.1)
264265
optparse (0.8.1)
265266
os (1.1.4)
@@ -331,12 +332,13 @@ DEPENDENCIES
331332
fastlane-plugin-firebase_app_distribution
332333
logger
333334
mutex_m
335+
nkf
334336
openssl (>= 3.3.1)
335337
xcodeproj (~> 1.27)
336338
xcpretty (~> 0)
337339

338340
RUBY VERSION
339-
ruby 3.3.4p94
341+
ruby 3.4.1p0
340342

341343
BUNDLED WITH
342344
2.6.9

ios/Podfile.lock

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ PODS:
1919
- Airship/Core
2020
- AirshipFrameworkProxy (14.6.1):
2121
- Airship (= 19.8.2)
22-
- AirshipServiceExtension (20.0.0)
22+
- AirshipServiceExtension (20.6.2)
2323
- AppAuth (1.7.6):
2424
- AppAuth/Core (= 1.7.6)
2525
- AppAuth/ExternalUserAgent (= 1.7.6)
@@ -343,8 +343,8 @@ PODS:
343343
- hermes-engine (250829098.0.4):
344344
- hermes-engine/Pre-built (= 250829098.0.4)
345345
- hermes-engine/Pre-built (250829098.0.4)
346-
- libavif/core (0.11.1)
347-
- libavif/libdav1d (0.11.1):
346+
- libavif/core (1.0.0)
347+
- libavif/libdav1d (1.0.0):
348348
- libavif/core
349349
- libdav1d (>= 0.6.0)
350350
- libdav1d (1.2.0)
@@ -390,11 +390,11 @@ PODS:
390390
- ReactCommon/turbomodule/core
391391
- SocketRocket
392392
- Yoga
393-
- MapboxCommon (23.11.4)
393+
- MapboxCommon (23.12.0)
394394
- MapboxCoreMaps (10.19.2):
395395
- MapboxCommon (~> 23.11)
396-
- MapboxMaps (10.19.4):
397-
- MapboxCommon (= 23.11.4)
396+
- MapboxMaps (10.19.5):
397+
- MapboxCommon (= 23.12.0)
398398
- MapboxCoreMaps (= 10.19.2)
399399
- MapboxMobileEvents (= 2.0.0)
400400
- Turf (= 2.8.0)
@@ -433,19 +433,20 @@ PODS:
433433
- ReactCommon/turbomodule/core
434434
- SocketRocket
435435
- Yoga
436-
- NWWebSocket (0.5.7)
437-
- Onfido (32.6.2)
436+
- NWWebSocket (0.5.10)
437+
- Onfido (32.6.3)
438438
- onfido-react-native-sdk (15.1.0):
439439
- Onfido (~> 32.6.0)
440440
- React
441-
- Plaid (6.4.2)
441+
- Plaid (6.4.7)
442442
- PromisesObjC (2.4.0)
443443
- pusher-websocket-react-native (1.3.1):
444444
- PusherSwift (~> 10.1.5)
445445
- React
446-
- PusherSwift (10.1.6):
447-
- NWWebSocket (~> 0.5.7)
448-
- TweetNacl (~> 1.0.0)
446+
- PusherSwift (10.1.10):
447+
- NWWebSocket (~> 0.5.10)
448+
- PusherTweetNacl (~> 1.2.0)
449+
- PusherTweetNacl (1.2.0)
449450
- RCT-Folly (2024.11.18.00):
450451
- boost
451452
- DoubleConversion
@@ -4247,9 +4248,9 @@ PODS:
42474248
- ReactCommon/turbomodule/core
42484249
- SocketRocket
42494250
- Yoga
4250-
- SDWebImage (5.21.3):
4251-
- SDWebImage/Core (= 5.21.3)
4252-
- SDWebImage/Core (5.21.3)
4251+
- SDWebImage (5.21.7):
4252+
- SDWebImage/Core (= 5.21.7)
4253+
- SDWebImage/Core (5.21.7)
42534254
- SDWebImageAVIFCoder (0.11.1):
42544255
- libavif/core (>= 0.11.0)
42554256
- SDWebImage (~> 5.10)
@@ -4264,7 +4265,6 @@ PODS:
42644265
- SocketRocket (0.7.1)
42654266
- SwiftUIIntrospect (1.3.0)
42664267
- Turf (2.8.0)
4267-
- TweetNacl (1.0.2)
42684268
- UMAppLoader (55.0.2)
42694269
- VisionCamera (4.7.2):
42704270
- VisionCamera/Core (= 4.7.2)
@@ -4300,7 +4300,7 @@ DEPENDENCIES:
43004300
- fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`)
43014301
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
43024302
- fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`)
4303-
- "FullStory (from `{:http=>\"https://ios-releases.fullstory.com/fullstory-1.68.3-xcframework.tar.gz\"}`)"
4303+
- "FullStory (from `{http: \"https://ios-releases.fullstory.com/fullstory-1.68.3-xcframework.tar.gz\"}`)"
43044304
- "fullstory_react-native (from `../node_modules/@fullstory/react-native`)"
43054305
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
43064306
- group-ib-fp (from `../node_modules/group-ib-fp`)
@@ -4461,6 +4461,7 @@ SPEC REPOS:
44614461
- Plaid
44624462
- PromisesObjC
44634463
- PusherSwift
4464+
- PusherTweetNacl
44644465
- SDWebImage
44654466
- SDWebImageAVIFCoder
44664467
- SDWebImageSVGCoder
@@ -4469,7 +4470,6 @@ SPEC REPOS:
44694470
- SocketRocket
44704471
- SwiftUIIntrospect
44714472
- Turf
4472-
- TweetNacl
44734473

44744474
EXTERNAL SOURCES:
44754475
AppLogs:
@@ -4779,7 +4779,7 @@ CHECKOUT OPTIONS:
47794779
SPEC CHECKSUMS:
47804780
Airship: dd7941c14b71dd34dd0bcd408ad389db252d1264
47814781
AirshipFrameworkProxy: 5952a09de66921d9ef72cd4c87237fab19ce58ef
4782-
AirshipServiceExtension: 50d11b2f62c4a490d4e81a1c36f70e2ecb70a27e
4782+
AirshipServiceExtension: 7d7e788f127322258bf33db33c7a98cc830a57b8
47834783
AppAuth: d4f13a8fe0baf391b2108511793e4b479691fb73
47844784
AppLogs: 3bc4e9b141dbf265b9464409caaa40416a9ee0e0
47854785
boost: 659a89341ea4ab3df8259733813b52f26d8be9a5
@@ -4821,25 +4821,26 @@ SPEC CHECKSUMS:
48214821
GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
48224822
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
48234823
GzipSwift: 893f3e48e597a1a4f62fafcb6514220fcf8287fa
4824-
hermes-engine: 9a70f3f40c414a11a2dd422ce023c7674a87cdfb
4825-
libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7
4824+
hermes-engine: ff0997461f0097a83ecc5cafe23145ce391251bc
4825+
libavif: 5f8e715bea24debec477006f21ef9e95432e254d
48264826
libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f
48274827
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
48284828
lottie-ios: 3d98679b41fa6fd6aff2352b3953dbd3df8a397e
48294829
lottie-react-native: ffc4c72bcff12350040d30b0ec2ac23ea8c11a07
4830-
MapboxCommon: cc47fafe3fe5408ca49240aa80fa64f27f275711
4830+
MapboxCommon: 9fe257ddc7385d55106345d4520a7fec3f4c0465
48314831
MapboxCoreMaps: 35685edba03e44468aed57c3dfd7f8795edafda8
4832-
MapboxMaps: f87023cf0d72b180b40ea0b6fb4b2d7db6b73b71
4832+
MapboxMaps: f8d239f0474c07002443dd2f424c6dba2d44ec9a
48334833
MapboxMobileEvents: d044b9edbe0ec7df60f6c2c9634fe9a7f449266b
48344834
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
48354835
NitroModules: 8bffd214aa360baba0f2c5718fe0acff5ef94763
4836-
NWWebSocket: b4741420f1976e1dff4da3edad00c401e4f1d769
4837-
Onfido: 65454f91d10758193c857fd149417f6efbea84c5
4836+
NWWebSocket: 873eb4b18acd0317da70cdba388d792a3187ce00
4837+
Onfido: c2325ed2ce1f8eb46cde63e1ade0c1c54374ef7f
48384838
onfido-react-native-sdk: bb8cfd9198e2e97978461d969497d18b37e45ca7
4839-
Plaid: 8a212ed955d480364e0deb7fed93625b29811e9d
4839+
Plaid: 2f4e0d6deb335e141ac62e082a872414ca058b74
48404840
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
48414841
pusher-websocket-react-native: 31b5fdd632bfa6d417f9ad0bceefe403ab41825d
4842-
PusherSwift: fa3d5f6587c20ad5790de87a5c9b150367b5f0f5
4842+
PusherSwift: 6022fe6584b4317dc5c177091292b2a4d80a8c35
4843+
PusherTweetNacl: 015f56f2cf010e718703f2bd9bca66fdcc91b208
48434844
RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
48444845
RCTDeprecation: a41bbdd9af30bf2e5715796b313e44ec43eefff1
48454846
RCTRequired: 7be34aabb0b77c3cefe644528df0fa0afad4e4d0
@@ -4953,15 +4954,14 @@ SPEC CHECKSUMS:
49534954
RNShare: 1c1fde2c4134b9cf220ffebbd6df9c414036d382
49544955
RNSVG: 74eb75bd44d62ba9969941e80d8f9832971c681f
49554956
RNWorklets: b2d54014a57a29d3c5848283069360d982880e60
4956-
SDWebImage: 16309af6d214ba3f77a7c6f6fdda888cb313a50a
4957+
SDWebImage: e9fc87c1aab89a8ab1bbd74eba378c6f53be8abf
49574958
SDWebImageAVIFCoder: afe194a084e851f70228e4be35ef651df0fc5c57
49584959
SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c
49594960
SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380
49604961
Sentry: 7475eb7bf6a41d7505f46341706015ad2d1766b9
49614962
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
49624963
SwiftUIIntrospect: fee9aa07293ee280373a591e1824e8ddc869ba5d
49634964
Turf: aa2ede4298009639d10db36aba1a7ebaad072a5e
4964-
TweetNacl: 3abf4d1d2082b0114e7a67410e300892448951e6
49654965
UMAppLoader: 71b50bcc31d86495e52c0b4cd17e2708bf297be3
49664966
VisionCamera: 30b358b807324c692064f78385e9a732ce1bebfe
49674967
Yoga: 33b53536a0500d039f2cd78caf1d5d68712d3af7

0 commit comments

Comments
 (0)