Mobile releases
ProcureIQ mobile delivery uses Expo Application Services for builds and release automation.
Android
- Minimum supported OS: Android API 23 and later; target SDK 35.
- Release E2E path: Maestro Cloud, using
apps/mobile/e2e/maestro/android. - Blocking journeys: auth, chat, product results, checkout, order detail, submit product, advertiser campaign, and support.
- Fast preflight: APK/build contract, TypeScript, and Jest. These do not replace device E2E.
- Region-specific EAS profiles:
production-west-africa,production-uk-eu,production-gulf, andproduction-usa. - Google Play country targeting and service-account-driven submission are validated by
scripts/validate-store-submit.mjs.
iOS
- Minimum supported OS: iOS 15 and later for the Expo 51 / React Native 0.74 launch train.
- Release E2E path: Maestro Cloud, using
apps/mobile/e2e/maestro/ios. - Blocking journeys: auth, chat, product results, checkout, order detail, submit product, advertiser campaign, and support.
- One global production build:
production-ios-global. - App Store Connect localized metadata and country availability are managed in App Store Connect.
Release Matrix
| Profile | Platform | Region | Store gate |
|---|---|---|---|
production-west-africa | Android | NG, GH, KE, ZA | Google Play internal track or release track |
production-uk-eu | Android | GB, IE, FR, DE, NL | Google Play internal track or release track |
production-gulf | Android | AE, SA, QA, KW | Google Play internal track or release track |
production-usa | Android | US, CA, MX | Google Play internal track or release track |
production-ios-global | iOS | global | App Store Connect/TestFlight or release |
Required Proof
pnpm --filter @procureiq/mobile readinesspnpm --filter @procureiq/mobile deep-links:validatepnpm --filter @procureiq/mobile type-checkpnpm --filter @procureiq/mobile test -- --runInBand- Android and iOS Maestro Cloud runs with commit-pinned artifacts.
- Push notification evidence for permission, token registration, foreground display, background tap routing, and denied-permission recovery.
- Deep-link evidence for the allowlisted routes plus rejection of malformed or untrusted links.
- Screenshot QA for core buyer flows and loading, empty, error, unauthorized, degraded, and destructive-confirmation states.