-
Notifications
You must be signed in to change notification settings - Fork 180
Chore release android build v263 #856
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThis update increments the Android app's versionCode and versionName in the build configuration, updates the corresponding values and deployment timestamp in version.json, standardizes string delimiters in the Fastfile, and adds documentation for new automated deployment commands in the Fastlane README. No logic or public API changes were introduced. Changes
Sequence Diagram(s)Not applicable: no new feature or control flow changes were introduced. Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Note 🔌 MCP (Model Context Protocol) integration is now available in Early Access!Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context. ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🔭 Outside diff range comments (2)
app/fastlane/Fastfile (2)
104-126: Harden deploy_auto inputs: validate deployment_track and version_bumpDefaulting is good. Add strict validation (and normalize casing) to avoid accidental typos silently pushing to the wrong track or skipping bumps.
Apply this diff:
- deployment_track = options[:deployment_track] || "internal" - version_bump = options[:version_bump] || "build" + deployment_track = (options[:deployment_track] || "internal").to_s.downcase + version_bump = (options[:version_bump] || "build").to_s.downcase + + allowed_tracks = %w[internal production] + allowed_bumps = %w[build major minor patch] + unless allowed_tracks.include?(deployment_track) + UI.user_error!("Invalid deployment_track '#{deployment_track}'. Allowed: #{allowed_tracks.join(', ')}") + end + unless allowed_bumps.include?(version_bump) + UI.user_error!("Invalid version_bump '#{version_bump}'. Allowed: #{allowed_bumps.join(', ')}") + end
302-330: Android deploy_auto: mirror input validation to prevent mis-deploymentsSame reasoning as iOS: normalize and validate inputs to avoid accidental production vs internal confusion.
Apply this diff:
- deployment_track = options[:deployment_track] || "internal" - version_bump = options[:version_bump] || "build" + deployment_track = (options[:deployment_track] || "internal").to_s.downcase + version_bump = (options[:version_bump] || "build").to_s.downcase + + allowed_tracks = %w[internal production] + allowed_bumps = %w[build major minor patch] + unless allowed_tracks.include?(deployment_track) + UI.user_error!("Invalid deployment_track '#{deployment_track}'. Allowed: #{allowed_tracks.join(', ')}") + end + unless allowed_bumps.include?(version_bump) + UI.user_error!("Invalid version_bump '#{version_bump}'. Allowed: #{allowed_bumps.join(', ')}") + end
🧹 Nitpick comments (1)
app/fastlane/README.md (1)
71-78: Docs: Added android deploy_auto lane — consider excluding autogenerated README from lintLooks good. Since this file is auto-generated by fastlane, if markdownlint flags heading styles, prefer excluding app/fastlane/README.md from lint rather than manual edits.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
app/android/app/build.gradle(1 hunks)app/fastlane/Fastfile(10 hunks)app/fastlane/README.md(2 hunks)app/version.json(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
app/android/**/*
⚙️ CodeRabbit Configuration File
app/android/**/*: Review Android-specific code for:
- Platform-specific implementations
- Performance considerations
- Security best practices for mobile
Files:
app/android/app/build.gradle
🧠 Learnings (5)
📓 Common learnings
Learnt from: transphorm
PR: selfxyz/self#795
File: app/android/app/build.gradle:157-158
Timestamp: 2025-07-29T01:08:28.530Z
Learning: For this React Native project, the team prefers build flexibility over fail-fast behavior for release builds in app/android/app/build.gradle. They intentionally allow fallback to debug signing for local development runs, relying on Google Play Console validation to catch any improperly signed releases during upload.
📚 Learning: 2025-06-30T15:51:11.193Z
Learnt from: transphorm
PR: selfxyz/self#636
File: app/android/app/build.gradle:76-76
Timestamp: 2025-06-30T15:51:11.193Z
Learning: For React Native 0.80, the correct JSC version is `io.github.react-native-community:jsc-android:2026004.+`. This version was specifically built with Android NDK r23 to align with React Native 0.80's NDK requirements and prevent compatibility issues. The `2026004` version pattern is the official version for RN 0.80, not an outdated pin.
Applied to files:
app/version.jsonapp/android/app/build.gradle
📚 Learning: 2025-06-30T15:27:13.795Z
Learnt from: transphorm
PR: selfxyz/self#636
File: app/ios/Podfile:14-14
Timestamp: 2025-06-30T15:27:13.795Z
Learning: React Native 0.80 supports iOS 15.1 as the minimum deployment target, not iOS 16.0. This allows for broader device compatibility while still being compatible with the React Native 0.80 upgrade.
Applied to files:
app/version.json
📚 Learning: 2025-07-29T01:08:28.530Z
Learnt from: transphorm
PR: selfxyz/self#795
File: app/android/app/build.gradle:157-158
Timestamp: 2025-07-29T01:08:28.530Z
Learning: For this React Native project, the team prefers build flexibility over fail-fast behavior for release builds in app/android/app/build.gradle. They intentionally allow fallback to debug signing for local development runs, relying on Google Play Console validation to catch any improperly signed releases during upload.
Applied to files:
app/version.jsonapp/android/app/build.gradleapp/fastlane/README.mdapp/fastlane/Fastfile
📚 Learning: 2025-08-02T23:53:45.928Z
Learnt from: transphorm
PR: selfxyz/self#823
File: app/ios/Self.xcodeproj/project.pbxproj:320-332
Timestamp: 2025-08-02T23:53:45.928Z
Learning: When reviewing autogenerated scripts in Xcode project files (like React Native Firebase's embedded shell scripts), avoid suggesting edits since these are regenerated during pod install and cannot be manually modified by users.
Applied to files:
app/fastlane/README.mdapp/fastlane/Fastfile
🪛 markdownlint-cli2 (0.17.2)
app/fastlane/README.md
34-34: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
71-71: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
🪛 RuboCop (1.76.1)
app/fastlane/Fastfile
[convention] 139-139: Avoid comma after the last parameter of a method call.
(Style/TrailingCommaInArguments)
[convention] 216-216: Avoid comma after the last parameter of a method call.
(Style/TrailingCommaInArguments)
[convention] 369-369: Avoid comma after the last parameter of a method call.
(Style/TrailingCommaInArguments)
⏰ Context from checks skipped due to timeout of 300000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: e2e-ios
- GitHub Check: analyze-android
- GitHub Check: analyze-ios
- GitHub Check: build
🔇 Additional comments (12)
app/version.json (1)
7-8: ✅ Cross-file version bump consistency confirmed
- app/version.json android.build (85) matches build.gradle versionCode (85)
- build.gradle versionName (2.6.3) matches package.json version (2.6.3)
- app/version.json lastDeployed timestamp ends with ‘Z’ (2025-08-08T15:13:41Z)
All good to merge!
app/android/app/build.gradle (1)
124-125: versionCode 85 / versionName 2.6.3 — aligned with release metadataThese increments are consistent with app/version.json. No other build changes introduced; the existing release signing fallback to debug for local/CI matches team preference.
app/fastlane/README.md (1)
34-41: Docs: Added ios deploy_auto lane — clear and actionableCommand and description read well and match Fastfile behavior.
app/fastlane/Fastfile (9)
83-84: iOS: Deployment timestamp update is correctly gatedupdate_deployment_timestamp("ios") runs only when a build was uploaded — good.
129-152: Track handling is clear; ensure unknown tracks are rejectedBuild uses prod_release when track is "production" and uploads as expected. With the validation above, typos won’t fall through to unintended behavior.
155-156: Second iOS timestamp update also correctly gatedGuarded by should_upload and not in test mode — 👍
161-162: Slack context polishUsing emoji based on track improves clarity for recipients; no issues.
216-217: Increment build number path quoting change — safeQuoting adjustments are stylistic; functionality unchanged.
333-337: Track mapping is explicit and safeNon-production maps to internal by default. With the validation suggested, no unintended fallbacks.
369-371: Gradle path usage unchanged; stylistic commaNo functional change; consistent with earlier usage.
429-430: Android timestamp update correctly gatedRuns only when an upload occurred — good.
437-437: Slack track emoji mirrors iOSSmall UX improvement; no concerns.
Summary by CodeRabbit
Chores
Documentation