Skip to content

Commit 74efbd7

Browse files
committed
feat(ios) introduce gemfile to make builds more reproducible
With it we can control what Ruby version, cocoapods version and fastlane version is being used.
1 parent 1b1e7d9 commit 74efbd7

File tree

4 files changed

+414
-84
lines changed

4 files changed

+414
-84
lines changed

Diff for: .github/workflows/ci.yml

+12-16
Original file line numberDiff line numberDiff line change
@@ -91,16 +91,14 @@ jobs:
9191
sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
9292
xcodebuild -version
9393
- name: setup-cocoapods
94-
uses: maxim-lobanov/setup-cocoapods@v1
94+
uses: ruby/setup-ruby@v1
9595
with:
96-
podfile-path: ios/Podfile.lock
96+
ruby-version: '3.4'
97+
bundler-cache: true
98+
- run: npx react-native info
9799
- name: Install Pods
98-
run: |
99-
pod --version
100-
cd ios
101-
pod install --repo-update --deployment
102-
- name: Check if the git repository is clean
103-
run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1)
100+
working-directory: ./ios
101+
run: bundle exec pod install --repo-update --deployment
104102
- run: npx react-native bundle --entry-file react/index.native.js --platform ios --bundle-output /tmp/ios.bundle --reset-cache
105103
android-sdk-build:
106104
name: Build mobile SDK (Android)
@@ -142,16 +140,14 @@ jobs:
142140
sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
143141
xcodebuild -version
144142
- name: setup-cocoapods
145-
uses: maxim-lobanov/setup-cocoapods@v1
143+
uses: ruby/setup-ruby@v1
146144
with:
147-
podfile-path: ios/Podfile.lock
145+
ruby-version: '3.4'
146+
bundler-cache: true
147+
- run: npx react-native info
148148
- name: Install Pods
149-
run: |
150-
pod --version
151-
cd ios
152-
pod install --repo-update --deployment
153-
- name: Check if the git repository is clean
154-
run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1)
149+
working-directory: ./ios
150+
run: bundle exec pod install --repo-update --deployment
155151
- run: |
156152
xcodebuild clean \
157153
-workspace ios/jitsi-meet.xcworkspace \

Diff for: Gemfile

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
source "https://rubygems.org"
2+
3+
ruby ">= 3.4.0"
4+
5+
gem "cocoapods", "~> 1.16"
6+
7+
# (Optional) Fastlane for automation
8+
gem "fastlane"
9+
10+
# (Optional) Bundler itself to ensure consistency
11+
gem "bundler"

Diff for: Gemfile.lock

+323
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,323 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
CFPropertyList (3.0.7)
5+
base64
6+
nkf
7+
rexml
8+
activesupport (7.2.2.1)
9+
base64
10+
benchmark (>= 0.3)
11+
bigdecimal
12+
concurrent-ruby (~> 1.0, >= 1.3.1)
13+
connection_pool (>= 2.2.5)
14+
drb
15+
i18n (>= 1.6, < 2)
16+
logger (>= 1.4.2)
17+
minitest (>= 5.1)
18+
securerandom (>= 0.3)
19+
tzinfo (~> 2.0, >= 2.0.5)
20+
addressable (2.8.7)
21+
public_suffix (>= 2.0.2, < 7.0)
22+
algoliasearch (1.27.5)
23+
httpclient (~> 2.8, >= 2.8.3)
24+
json (>= 1.5.1)
25+
artifactory (3.0.17)
26+
atomos (0.1.3)
27+
aws-eventstream (1.3.1)
28+
aws-partitions (1.1050.0)
29+
aws-sdk-core (3.218.1)
30+
aws-eventstream (~> 1, >= 1.3.0)
31+
aws-partitions (~> 1, >= 1.992.0)
32+
aws-sigv4 (~> 1.9)
33+
base64
34+
jmespath (~> 1, >= 1.6.1)
35+
aws-sdk-kms (1.98.0)
36+
aws-sdk-core (~> 3, >= 3.216.0)
37+
aws-sigv4 (~> 1.5)
38+
aws-sdk-s3 (1.181.0)
39+
aws-sdk-core (~> 3, >= 3.216.0)
40+
aws-sdk-kms (~> 1)
41+
aws-sigv4 (~> 1.5)
42+
aws-sigv4 (1.11.0)
43+
aws-eventstream (~> 1, >= 1.0.2)
44+
babosa (1.0.4)
45+
base64 (0.2.0)
46+
benchmark (0.4.0)
47+
bigdecimal (3.1.9)
48+
claide (1.1.0)
49+
cocoapods (1.16.2)
50+
addressable (~> 2.8)
51+
claide (>= 1.0.2, < 2.0)
52+
cocoapods-core (= 1.16.2)
53+
cocoapods-deintegrate (>= 1.0.3, < 2.0)
54+
cocoapods-downloader (>= 2.1, < 3.0)
55+
cocoapods-plugins (>= 1.0.0, < 2.0)
56+
cocoapods-search (>= 1.0.0, < 2.0)
57+
cocoapods-trunk (>= 1.6.0, < 2.0)
58+
cocoapods-try (>= 1.1.0, < 2.0)
59+
colored2 (~> 3.1)
60+
escape (~> 0.0.4)
61+
fourflusher (>= 2.3.0, < 3.0)
62+
gh_inspector (~> 1.0)
63+
molinillo (~> 0.8.0)
64+
nap (~> 1.0)
65+
ruby-macho (>= 2.3.0, < 3.0)
66+
xcodeproj (>= 1.27.0, < 2.0)
67+
cocoapods-core (1.16.2)
68+
activesupport (>= 5.0, < 8)
69+
addressable (~> 2.8)
70+
algoliasearch (~> 1.0)
71+
concurrent-ruby (~> 1.1)
72+
fuzzy_match (~> 2.0.4)
73+
nap (~> 1.0)
74+
netrc (~> 0.11)
75+
public_suffix (~> 4.0)
76+
typhoeus (~> 1.0)
77+
cocoapods-deintegrate (1.0.5)
78+
cocoapods-downloader (2.1)
79+
cocoapods-plugins (1.0.0)
80+
nap
81+
cocoapods-search (1.0.1)
82+
cocoapods-trunk (1.6.0)
83+
nap (>= 0.8, < 2.0)
84+
netrc (~> 0.11)
85+
cocoapods-try (1.2.0)
86+
colored (1.2)
87+
colored2 (3.1.2)
88+
commander (4.6.0)
89+
highline (~> 2.0.0)
90+
concurrent-ruby (1.3.5)
91+
connection_pool (2.5.0)
92+
declarative (0.0.20)
93+
digest-crc (0.7.0)
94+
rake (>= 12.0.0, < 14.0.0)
95+
domain_name (0.6.20240107)
96+
dotenv (2.8.1)
97+
drb (2.2.1)
98+
emoji_regex (3.2.3)
99+
escape (0.0.4)
100+
ethon (0.16.0)
101+
ffi (>= 1.15.0)
102+
excon (0.112.0)
103+
faraday (1.10.4)
104+
faraday-em_http (~> 1.0)
105+
faraday-em_synchrony (~> 1.0)
106+
faraday-excon (~> 1.1)
107+
faraday-httpclient (~> 1.0)
108+
faraday-multipart (~> 1.0)
109+
faraday-net_http (~> 1.0)
110+
faraday-net_http_persistent (~> 1.0)
111+
faraday-patron (~> 1.0)
112+
faraday-rack (~> 1.0)
113+
faraday-retry (~> 1.0)
114+
ruby2_keywords (>= 0.0.4)
115+
faraday-cookie_jar (0.0.7)
116+
faraday (>= 0.8.0)
117+
http-cookie (~> 1.0.0)
118+
faraday-em_http (1.0.0)
119+
faraday-em_synchrony (1.0.0)
120+
faraday-excon (1.1.0)
121+
faraday-httpclient (1.0.1)
122+
faraday-multipart (1.1.0)
123+
multipart-post (~> 2.0)
124+
faraday-net_http (1.0.2)
125+
faraday-net_http_persistent (1.2.0)
126+
faraday-patron (1.0.0)
127+
faraday-rack (1.0.0)
128+
faraday-retry (1.0.3)
129+
faraday_middleware (1.2.1)
130+
faraday (~> 1.0)
131+
fastimage (2.4.0)
132+
fastlane (2.226.0)
133+
CFPropertyList (>= 2.3, < 4.0.0)
134+
addressable (>= 2.8, < 3.0.0)
135+
artifactory (~> 3.0)
136+
aws-sdk-s3 (~> 1.0)
137+
babosa (>= 1.0.3, < 2.0.0)
138+
bundler (>= 1.12.0, < 3.0.0)
139+
colored (~> 1.2)
140+
commander (~> 4.6)
141+
dotenv (>= 2.1.1, < 3.0.0)
142+
emoji_regex (>= 0.1, < 4.0)
143+
excon (>= 0.71.0, < 1.0.0)
144+
faraday (~> 1.0)
145+
faraday-cookie_jar (~> 0.0.6)
146+
faraday_middleware (~> 1.0)
147+
fastimage (>= 2.1.0, < 3.0.0)
148+
fastlane-sirp (>= 1.0.0)
149+
gh_inspector (>= 1.1.2, < 2.0.0)
150+
google-apis-androidpublisher_v3 (~> 0.3)
151+
google-apis-playcustomapp_v1 (~> 0.1)
152+
google-cloud-env (>= 1.6.0, < 2.0.0)
153+
google-cloud-storage (~> 1.31)
154+
highline (~> 2.0)
155+
http-cookie (~> 1.0.5)
156+
json (< 3.0.0)
157+
jwt (>= 2.1.0, < 3)
158+
mini_magick (>= 4.9.4, < 5.0.0)
159+
multipart-post (>= 2.0.0, < 3.0.0)
160+
naturally (~> 2.2)
161+
optparse (>= 0.1.1, < 1.0.0)
162+
plist (>= 3.1.0, < 4.0.0)
163+
rubyzip (>= 2.0.0, < 3.0.0)
164+
security (= 0.1.5)
165+
simctl (~> 1.6.3)
166+
terminal-notifier (>= 2.0.0, < 3.0.0)
167+
terminal-table (~> 3)
168+
tty-screen (>= 0.6.3, < 1.0.0)
169+
tty-spinner (>= 0.8.0, < 1.0.0)
170+
word_wrap (~> 1.0.0)
171+
xcodeproj (>= 1.13.0, < 2.0.0)
172+
xcpretty (~> 0.4.0)
173+
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
174+
fastlane-sirp (1.0.0)
175+
sysrandom (~> 1.0)
176+
ffi (1.17.1)
177+
ffi (1.17.1-aarch64-linux-gnu)
178+
ffi (1.17.1-aarch64-linux-musl)
179+
ffi (1.17.1-arm-linux-gnu)
180+
ffi (1.17.1-arm-linux-musl)
181+
ffi (1.17.1-arm64-darwin)
182+
ffi (1.17.1-x86-linux-gnu)
183+
ffi (1.17.1-x86-linux-musl)
184+
ffi (1.17.1-x86_64-darwin)
185+
ffi (1.17.1-x86_64-linux-gnu)
186+
ffi (1.17.1-x86_64-linux-musl)
187+
fourflusher (2.3.1)
188+
fuzzy_match (2.0.4)
189+
gh_inspector (1.1.3)
190+
google-apis-androidpublisher_v3 (0.54.0)
191+
google-apis-core (>= 0.11.0, < 2.a)
192+
google-apis-core (0.11.3)
193+
addressable (~> 2.5, >= 2.5.1)
194+
googleauth (>= 0.16.2, < 2.a)
195+
httpclient (>= 2.8.1, < 3.a)
196+
mini_mime (~> 1.0)
197+
representable (~> 3.0)
198+
retriable (>= 2.0, < 4.a)
199+
rexml
200+
google-apis-iamcredentials_v1 (0.17.0)
201+
google-apis-core (>= 0.11.0, < 2.a)
202+
google-apis-playcustomapp_v1 (0.13.0)
203+
google-apis-core (>= 0.11.0, < 2.a)
204+
google-apis-storage_v1 (0.31.0)
205+
google-apis-core (>= 0.11.0, < 2.a)
206+
google-cloud-core (1.7.1)
207+
google-cloud-env (>= 1.0, < 3.a)
208+
google-cloud-errors (~> 1.0)
209+
google-cloud-env (1.6.0)
210+
faraday (>= 0.17.3, < 3.0)
211+
google-cloud-errors (1.4.0)
212+
google-cloud-storage (1.47.0)
213+
addressable (~> 2.8)
214+
digest-crc (~> 0.4)
215+
google-apis-iamcredentials_v1 (~> 0.1)
216+
google-apis-storage_v1 (~> 0.31.0)
217+
google-cloud-core (~> 1.6)
218+
googleauth (>= 0.16.2, < 2.a)
219+
mini_mime (~> 1.0)
220+
googleauth (1.8.1)
221+
faraday (>= 0.17.3, < 3.a)
222+
jwt (>= 1.4, < 3.0)
223+
multi_json (~> 1.11)
224+
os (>= 0.9, < 2.0)
225+
signet (>= 0.16, < 2.a)
226+
highline (2.0.3)
227+
http-cookie (1.0.8)
228+
domain_name (~> 0.5)
229+
httpclient (2.8.3)
230+
i18n (1.14.7)
231+
concurrent-ruby (~> 1.0)
232+
jmespath (1.6.2)
233+
json (2.10.1)
234+
jwt (2.10.1)
235+
base64
236+
logger (1.6.6)
237+
mini_magick (4.13.2)
238+
mini_mime (1.1.5)
239+
minitest (5.25.4)
240+
molinillo (0.8.0)
241+
multi_json (1.15.0)
242+
multipart-post (2.4.1)
243+
nanaimo (0.4.0)
244+
nap (1.1.0)
245+
naturally (2.2.1)
246+
netrc (0.11.0)
247+
nkf (0.2.0)
248+
optparse (0.6.0)
249+
os (1.1.4)
250+
plist (3.7.2)
251+
public_suffix (4.0.7)
252+
rake (13.2.1)
253+
representable (3.2.0)
254+
declarative (< 0.1.0)
255+
trailblazer-option (>= 0.1.1, < 0.2.0)
256+
uber (< 0.2.0)
257+
retriable (3.1.2)
258+
rexml (3.4.1)
259+
rouge (3.28.0)
260+
ruby-macho (2.5.1)
261+
ruby2_keywords (0.0.5)
262+
rubyzip (2.4.1)
263+
securerandom (0.4.1)
264+
security (0.1.5)
265+
signet (0.19.0)
266+
addressable (~> 2.8)
267+
faraday (>= 0.17.5, < 3.a)
268+
jwt (>= 1.5, < 3.0)
269+
multi_json (~> 1.10)
270+
simctl (1.6.10)
271+
CFPropertyList
272+
naturally
273+
sysrandom (1.0.5)
274+
terminal-notifier (2.0.0)
275+
terminal-table (3.0.2)
276+
unicode-display_width (>= 1.1.1, < 3)
277+
trailblazer-option (0.1.2)
278+
tty-cursor (0.7.1)
279+
tty-screen (0.8.2)
280+
tty-spinner (0.9.3)
281+
tty-cursor (~> 0.7)
282+
typhoeus (1.4.1)
283+
ethon (>= 0.9.0)
284+
tzinfo (2.0.6)
285+
concurrent-ruby (~> 1.0)
286+
uber (0.1.0)
287+
unicode-display_width (2.6.0)
288+
word_wrap (1.0.0)
289+
xcodeproj (1.27.0)
290+
CFPropertyList (>= 2.3.3, < 4.0)
291+
atomos (~> 0.1.3)
292+
claide (>= 1.0.2, < 2.0)
293+
colored2 (~> 3.1)
294+
nanaimo (~> 0.4.0)
295+
rexml (>= 3.3.6, < 4.0)
296+
xcpretty (0.4.0)
297+
rouge (~> 3.28.0)
298+
xcpretty-travis-formatter (1.0.1)
299+
xcpretty (~> 0.2, >= 0.0.7)
300+
301+
PLATFORMS
302+
aarch64-linux-gnu
303+
aarch64-linux-musl
304+
arm-linux-gnu
305+
arm-linux-musl
306+
arm64-darwin
307+
ruby
308+
x86-linux-gnu
309+
x86-linux-musl
310+
x86_64-darwin
311+
x86_64-linux-gnu
312+
x86_64-linux-musl
313+
314+
DEPENDENCIES
315+
bundler
316+
cocoapods (~> 1.16)
317+
fastlane
318+
319+
RUBY VERSION
320+
ruby 3.4.2p28
321+
322+
BUNDLED WITH
323+
2.6.3

0 commit comments

Comments
 (0)