Skip to content

Conversation

@transphorm
Copy link
Member

@transphorm transphorm commented Sep 30, 2025

  • add missing key

  • save wip

  • update env values. remove slack support

  • add enable debug logs

Summary by CodeRabbit

  • Chores
    • Streamlined mobile release pipeline for iOS and Android with standardized environment configuration.
    • Removed Slack notifications from release and testing flows.
    • Strengthened signing and store upload configuration for more reliable deployments.
    • Aligned build condition checks for consistency across platforms.
    • Enhanced release-time monitoring and analytics configuration (logging, metrics, error reporting).
    • No changes to in-app features or behavior.

* add missing key

* save wip

* update env values. remove slack support

* add enable debug logs
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 30, 2025

Walkthrough

Removes Slack integrations from Fastlane (Fastfile and helpers) and adjusts the mobile CI workflow to use expanded secret-driven environment variables for Android and iOS builds and uploads. Updates conditional syntax in the workflow without changing core build steps.

Changes

Cohort / File(s) Summary
CI workflow env/secrets updates
.github/workflows/mobile-deploy.yml
Added multiple secrets to env for Android/iOS builds and iOS upload (Grafana Loki, Segment, Sentry, debug, signing); reordered/moved some variables; removed Slack secrets from upload steps; normalized if-conditions.
Fastlane Slack removal (flows)
app/fastlane/Fastfile
Deleted all Slack notification logic across iOS and Android lanes; pruned branches and messages related to Slack/test mode; retained deployment and timestamp logic.
Fastlane Slack helper removal (API surface)
app/fastlane/helpers.rb
Removed require/extension of Slack helper, reducing public API exposure to Slack utilities; no alternative added.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant Dev as Developer
  participant CI as GitHub Actions
  participant FL as Fastlane
  participant Stores as App Store Connect / Play Console
  participant Telemetry as Grafana/Segment/Sentry

  Dev->>CI: Trigger mobile-deploy workflow
  CI->>CI: Export env (Grafana/Segment/Sentry + signing)
  CI->>FL: Run iOS/Android build lanes
  FL->>Telemetry: Init with env keys (no Slack)
  FL->>Stores: Upload build (iOS TestFlight / Google Play)
  Stores-->>FL: Response (success/failure)
  FL-->>CI: Exit status
  CI-->>Dev: Workflow result (no Slack notifications)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

codex

Suggested reviewers

  • remicolin

Poem

Keys in silence, secrets in flow,
Slack sails folded, off we go.
Lanes run lean, with signals tight,
Grafana watches through the night.
Segment whispers, Sentry knows—
Builds ascend where telemetry grows. 🚀

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title clearly conveys the primary change—fixing the mobile deployment pipelines—and uses concise phrasing without listing specific files or vague terms, making it easy for reviewers to understand the main intent at a glance. Although it includes a version tag and PR reference, these do not obscure the core purpose of the update.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 3de7ef3 and 50f670d.

📒 Files selected for processing (3)
  • .github/workflows/mobile-deploy.yml (4 hunks)
  • app/fastlane/Fastfile (0 hunks)
  • app/fastlane/helpers.rb (0 hunks)
💤 Files with no reviewable changes (2)
  • app/fastlane/Fastfile
  • app/fastlane/helpers.rb
🧰 Additional context used
📓 Path-based instructions (1)
.github/workflows/**/*.{yml,yaml}

📄 CodeRabbit inference engine (AGENTS.md)

.github/workflows/**/*.{yml,yaml}: In GitHub Actions workflows, use shared composite caching actions from .github/actions (cache-yarn, cache-bundler, cache-gradle, cache-pods)
Do not call actions/cache directly; rely on the shared composite caching actions
When using cache actions, optionally pass cache-version (often with GH_CACHE_VERSION and tool version) for stable keys

Files:

  • .github/workflows/mobile-deploy.yml
⏰ 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

SLACK_API_TOKEN: ${{ secrets.SLACK_API_TOKEN }}
SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }}
SLACK_ANNOUNCE_CHANNEL_NAME: ${{ secrets.SLACK_ANNOUNCE_CHANNEL_NAME }}
if: inputs.platform != 'ios' && inputs.test_mode != true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Fix test_mode guard to prevent unintended store uploads.

Switching the Upload to Google Play gate to inputs.test_mode != true breaks the skip logic for manual runs: boolean inputs from workflow_dispatch surface as the string 'true', so 'true' != true evaluates to true and the upload still fires even when the checkbox is enabled. We now risk publishing to Play Store despite requesting test mode. Align the comparison so it short-circuits for both string and boolean representations before proceeding with the upload. (github.com)

-        if: inputs.platform != 'ios' && inputs.test_mode != true
+        if: inputs.platform != 'ios' && !(inputs.test_mode == 'true' || inputs.test_mode == true)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if: inputs.platform != 'ios' && inputs.test_mode != true
if: inputs.platform != 'ios' && !(inputs.test_mode == 'true' || inputs.test_mode == true)
🤖 Prompt for AI Agents
In .github/workflows/mobile-deploy.yml around line 927, the condition uses
inputs.test_mode != true which fails for workflow_dispatch string inputs; update
the guard to short-circuit for both string and boolean representations (e.g.,
check that inputs.test_mode is neither the boolean true nor the string 'true'
before proceeding) so the Upload to Google Play step is skipped when test_mode
is enabled in manual runs.

@transphorm transphorm merged commit 4f80aa5 into staging Sep 30, 2025
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants