

























@@ -198,6 +198,58 @@ def capture_android_screenshots!
198198sh(shell_join(["bash", File.join(repo_root, "scripts", "android-screenshots.sh")]))
199199end
200200201+def mobile_release_ref_script
202+File.join(repo_root, "scripts", "mobile-release-ref.ts")
203+end
204+205+def release_git_sha
206+stdout, stderr, status = Open3.capture3("git", "rev-parse", "HEAD", chdir: repo_root)
207+UI.user_error!("Unable to resolve release Git SHA: #{stderr.strip}") unless status.success?
208+stdout.strip
209+end
210+211+def mobile_release_ref_command(command, platform:, version:, build: nil, version_code: nil, sha: nil)
212+args = [
213+"node",
214+"--import",
215+"tsx",
216+mobile_release_ref_script,
217+command,
218+"--platform",
219+platform,
220+"--version",
221+version,
222+"--root",
223+repo_root,
224+]
225+args.push("--build", build.to_s) if build
226+args.push("--version-code", version_code.to_s) if version_code
227+args.push("--sha", sha.to_s) if sha
228+sh(shell_join(args))
229+end
230+231+def ensure_mobile_release_ref_available!(platform:, version:, build: nil, version_code: nil, sha: nil)
232+mobile_release_ref_command(
233+"preflight",
234+platform: platform,
235+version: version,
236+build: build,
237+version_code: version_code,
238+sha: sha
239+)
240+end
241+242+def record_mobile_release_ref!(platform:, version:, build: nil, version_code: nil, sha: nil)
243+mobile_release_ref_command(
244+"record",
245+platform: platform,
246+version: version,
247+build: build,
248+version_code: version_code,
249+sha: sha
250+)
251+end
252+201253def read_android_release_signing_properties!(path)
202254UI.user_error!("Missing materialized Android release signing properties at #{path}.") unless File.exist?(path)
203255@@ -282,6 +334,13 @@ def upload_play_store_metadata!(version_metadata)
282334end
283335284336def upload_play_store_build!(version_metadata, upload_metadata: false, upload_images: false, upload_screenshots: false)
337+release_sha = release_git_sha
338+ensure_mobile_release_ref_available!(
339+platform: "android",
340+version: version_metadata.fetch(:version),
341+version_code: version_metadata.fetch(:version_code),
342+sha: release_sha
343+)
285344ENV["SUPPLY_UPLOAD_SCREENSHOTS"] = "1" if upload_screenshots
286345validate_android_screenshots!
287346sync_android_changelog!(version_metadata.fetch(:version_code))
@@ -302,6 +361,15 @@ def upload_play_store_build!(version_metadata, upload_metadata: false, upload_im
302361skip_upload_screenshots: !upload_screenshots,
303362validate_only: play_validate_only?
304363)
364+365+unless play_validate_only?
366+record_mobile_release_ref!(
367+platform: "android",
368+version: version_metadata.fetch(:version),
369+version_code: version_metadata.fetch(:version_code),
370+sha: release_sha
371+)
372+end
305373end
306374307375load_env_file(File.join(ANDROID_FASTLANE_ROOT, ".env"))
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。