Skip to Content
MobileDeployment

Deployment

Notice

There is currently no automatic CI/CD setup for mobile deployments.

All iOS and Android release builds are created and submitted manually.

EAS and Fastlane scripts may exist in the repository, but they are not part of the current release process.

iOS (Manual)

Before building, set the correct native environment for the target release (dev, staging, or prod).

pnpm native-env:dev # or pnpm native-env:staging # or pnpm native-env:prod
  1. Set the app version values in ios/CardNexus.xcodeproj/project.pbxproj:
    • MARKETING_VERSION = app version
    • CURRENT_PROJECT_VERSION = build number
  2. Build locally in Xcode (recommended):
    • Open the iOS project/workspace in Xcode.
    • Use Product -> Archive to create an archive.
    • Use Xcode Organizer to upload the build through Apple’s upload flow to TestFlight.
  3. In TestFlight:
    • Select the uploaded build and assign it to the relevant tester groups.
    • Submit the build for App Store release if needed.
  4. Run post-upload checks:
    • Validate smoke tests in TestFlight before promoting to production release.

iOS Prerequisites

  • You must be logged into Xcode with an Apple ID that is a member of the CardNexus team.

Android (Manual)

Before building, set the correct native environment for the target release (dev, staging, or prod).

pnpm native-env:dev # or pnpm native-env:staging # or pnpm native-env:prod
  1. Set Android version values in android/app/build.gradle:
    • versionName = app version
    • versionCode = build number
  2. Build locally using Gradle (run from android/):
    • Build an Android App Bundle (recommended for Play Store):
./gradlew bundleRelease
  • Or build a release APK when needed:
./gradlew assembleRelease
  1. Upload manually in Google Play Console:
    • Use the generated .aab or .apk depending on release use case.
    • Typical output paths:
      • AAB: android/app/build/outputs/bundle/release/*.aab
      • APK: android/app/build/outputs/apk/release/*.apk
    • Choose the target track (internal/testing/production) based on environment and release goal.
    • Complete release notes, review, and rollout steps in Play Console.
  2. Run post-upload checks:
    • Validate smoke tests in Play internal testing before broader rollout.

Android Prerequisites

  • Android release signing requires a valid keystore setup (keystore.properties/keystore credentials).

Both Android build and Play Store submission are manual today.

Last updated on