-
Notifications
You must be signed in to change notification settings - Fork 179
code rabbit feedback for staging auto deploy logic #1255
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
code rabbit feedback for staging auto deploy logic #1255
Conversation
WalkthroughHarden CI permissions and reshaped mobile-deploy flow with robust bump/version verification, idempotent PR/tag creation, changelog/release generation, Fastlane lanes marked deprecated, richer CI diagnostics, version-manager validation/coercion, expanded Jest test discovery, and new unit tests for version-manager. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant GH as GitHub Actions
participant Bump as bump-version job
participant Build as build jobs (iOS/Android)
participant Repo as GitHub Repo
participant PR as GitHub PRs
participant Release as Tag/Release step
Dev->>GH: push / dispatch mobile-deploy
GH->>Bump: run bump calculation (version, ios_build, android_build)
Bump->>GH: outputs: version, ios_build, android_build
GH->>GH: Verify bump outputs present
alt missing outputs
GH-->>GH: fail early
end
GH->>Repo: prepare timestamped bump branch name
GH->>PR: search existing bump PRs
alt PR exists
GH-->>GH: skip PR creation (idempotent)
else
GH->>PR: create bump PR (contents: write, pull-requests: write)
end
par Platform builds (conditional by outputs)
GH->>Build: run platform-specific jobs (permissions adjusted)
Build->>GH: post-build verification (versions/artifacts)
end
GH->>Release: create platform-aware tags (idempotent, with force fallback)
GH->>Release: generate changelog & GitHub Release
sequenceDiagram
autonumber
participant CI as CI step
participant VM as version_manager.rb
participant Logs as Workflow Logs
CI->>VM: verify versions across package.json/version.json
alt mismatch
VM->>Logs: emit expected vs actual, field diffs, common causes
VM-->>CI: fail with UI.user_error
else match
VM-->>CI: proceed
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (1).github/workflows/**/*.{yml,yaml}📄 CodeRabbit inference engine (AGENTS.md)
Files:
🧠 Learnings (1)📓 Common learnings⏰ 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). (5)
🔇 Additional comments (4)
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. Comment |
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: 3
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
.github/workflows/mobile-deploy.yml(8 hunks)app/fastlane/Fastfile(2 hunks)app/fastlane/helpers/version_manager.rb(1 hunks)app/jest.config.cjs(1 hunks)app/scripts/version-manager.cjs(2 hunks)app/scripts/version-manager.test.cjs(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
app/jest.config.cjs
📄 CodeRabbit inference engine (.cursor/rules/mobile-sdk-migration.mdc)
app/jest.config.cjs: Use Jest in the app with a React Native preset configured in app/jest.config.cjs
Configure moduleNameMapper in app/jest.config.cjs to map '@/'' to 'src/' and '@tests/' to 'tests/src/'
Files:
app/jest.config.cjs
.github/workflows/**/*.{yml,yaml}
📄 CodeRabbit inference engine (AGENTS.md)
.github/workflows/**/*.{yml,yaml}: In GitHub workflows, use the shared composite actions in .github/actions for dependency caching instead of calling actions/cache directly
Use the cache-yarn composite action for Yarn dependency caching in workflows
Use the cache-bundler composite action for Ruby gems caching in workflows
Use the cache-gradle composite action for Gradle caching in workflows
Use the cache-pods composite action for CocoaPods caching in workflows
Files:
.github/workflows/mobile-deploy.yml
🧠 Learnings (4)
📓 Common learnings
Learnt from: CR
PR: selfxyz/self#0
File: app/AGENTS.md:0-0
Timestamp: 2025-09-22T11:10:57.879Z
Learning: Address CodeRabbitAI feedback before merging
📚 Learning: 2025-08-24T18:54:04.809Z
Learnt from: CR
PR: selfxyz/self#0
File: .cursor/rules/mobile-sdk-migration.mdc:0-0
Timestamp: 2025-08-24T18:54:04.809Z
Learning: Applies to app/jest.config.cjs : Configure moduleNameMapper in app/jest.config.cjs to map '@/'' to 'src/' and 'tests/' to 'tests/src/'
Applied to files:
app/jest.config.cjs
📚 Learning: 2025-08-24T18:54:04.809Z
Learnt from: CR
PR: selfxyz/self#0
File: .cursor/rules/mobile-sdk-migration.mdc:0-0
Timestamp: 2025-08-24T18:54:04.809Z
Learning: Applies to app/jest.config.cjs : Use Jest in the app with a React Native preset configured in app/jest.config.cjs
Applied to files:
app/jest.config.cjs
📚 Learning: 2025-09-22T11:10:22.019Z
Learnt from: CR
PR: selfxyz/self#0
File: .cursorrules:0-0
Timestamp: 2025-09-22T11:10:22.019Z
Learning: Test, build, and deploy scripts (`yarn test`, `yarn ios`, `yarn test:e2e:ios`, Fastlane, etc.) must be used for automation.
Applied to files:
app/fastlane/Fastfile
🧬 Code graph analysis (1)
app/scripts/version-manager.test.cjs (1)
app/scripts/version-manager.cjs (8)
fs(27-27)path(28-28)info(260-260)result(280-280)pkg(90-90)pkg(161-161)pkg(236-236)version(299-299)
⏰ 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). (5)
- GitHub Check: build-deps
- GitHub Check: android-build-test
- GitHub Check: e2e-ios
- GitHub Check: analyze-android
- GitHub Check: analyze-ios
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: 1
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/mobile-deploy.yml(11 hunks).github/workflows/release-calendar.yml(2 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
.github/workflows/**/*.{yml,yaml}
📄 CodeRabbit inference engine (AGENTS.md)
.github/workflows/**/*.{yml,yaml}: In GitHub workflows, use the shared composite actions in .github/actions for dependency caching instead of calling actions/cache directly
Use the cache-yarn composite action for Yarn dependency caching in workflows
Use the cache-bundler composite action for Ruby gems caching in workflows
Use the cache-gradle composite action for Gradle caching in workflows
Use the cache-pods composite action for CocoaPods caching in workflows
Files:
.github/workflows/release-calendar.yml.github/workflows/mobile-deploy.yml
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
PR: selfxyz/self#0
File: app/AGENTS.md:0-0
Timestamp: 2025-09-22T11:10:57.879Z
Learning: Address CodeRabbitAI feedback before merging
⏰ 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). (5)
- GitHub Check: e2e-ios
- GitHub Check: android-build-test
- GitHub Check: build-deps
- GitHub Check: analyze-ios
- GitHub Check: analyze-android
Summary by CodeRabbit