Clone mobile
git clone [email protected]:minds/mobile-native.git
Clone locale
cd ..
git clone [email protected]:minds/l10n.git
cd -
Branch | |
---|---|
master | Approved code ready to merged into the next stable release. All tests should pass and be in a 'ready' state |
stable/* | Stable builds, inherited from release/* branches. Fastlane automatically deploys these builds. |
test/* | Release candidate builds, inherited from release/* branches. Fastlane automatically deploys these builds. |
release/* | WIP builds. Run fastlane run increment_version_number upon creating the branch. |
feat/* | New branches should be made for each Gitlab issue. Merge requests should be opened pointing towards the respective release branch. |
fastlane run increment_version_number bump_type:patch
fastlane run increment_version_number bump_type:minor
fastlane run increment_version_number bump_type:major
- iOS
- Android
yarn install
cd ios && pod install
(iOS only)
npx expo run:android
ornpx expo run:ios
yarn test
Install the detox cli
brew tap wix/brew
brew install applesimutils
yarn global add detox-cli
Run the tests
detox build -c ios.sim.debug
detox test -c ios.sim.debug
You can use -c ios.sim.release for e2e test a production build
export ANDROID_KEYSTORE=
export KEYSTORE_PASSWORD=
export SENTRY_ANDROID_PROPERTIES=
- Build the app
cd android && fastlane assemble_build && cd ..
- Push to s3
aws s3 cp android/app/build/outputs/apk/release/app-release.apk s3://minds-repo/android/Minds-stable-4-8-2.apk
- Update the releases.json
yarn release-json android/app/build/outputs/apk/release/app-release.apk
-
Verify the release name is correct in ./releases.json
-
Upload the releases.json changes
aws s3 cp releases.json s3://minds-repo/android/releases/releases.json
Once the file is generated in the CI download the apk and run:
yarn release-json path/file.apk
This will update the release.json with this version data
Note: You have to update the change-log for the version!
Upload the file to s3 and that is it.
- Platform: iOS & Android
- Frontend Framework: WebdriverIO Node.js
- Frontend Testing Framework: Jasmine
- Reporter: Spec
- Integrations: BrowserStack Real Devices, CI (TBD) & Suite Setup (TBD)
USERNAME & PASSWORD
BROWSERSTACK_USERNAME, BROWSERSTACK_ACCESS_KEY, BROWSERSTACK_IOS_APP_ID & BROWSERSTACK_ANDROID_APP_ID
yarn
Run the command below to execute automation on BrowserStack iOS & Android real devices respectively:
yarn run e2e:ios:browserstack
yarn run e2e:android:browserstack