This document will guide you through the process of releasing a new version of Expo client for Android.
-
Bump versions of Android project
Why: Every new version of Expo client has to have another version and version code.
How: Edit
/android/app/build.gradleand bump versions in that file. -
Add changelog for Play Store
Why: It's polite to inform users why they may want to upgrade to latest version of an app.
How: Add a new file under
/fastlane/android/metadata/en-US/changelogs/[versionCode].txt(most probably it can read “Add support for SDK XX”). -
Test the application
Why: For our convenience it's the CI who builds the APK. Before submitting it anywhere we want to test it properly.
How: On the release branch (
sdk-XX) from which any updates are published, open theclient_androidjob for commit after step 2., download build artifact from under/root/expo/android/app/build/outputs/apk/release/app-release.apk.- Run
adb shell pm clear host.exp.exponent - Enable airplane mode on the device you'll be testing it on
adb install {downloaded-apk}- Open the application. Ensure Home loads.
- known issue: icons don't load in airplane mode
- Disable airplane mode and test the application.
- Run
-
Upload the application to backend for website and
expo-clito downloadWhy: So that developers who used
expo-clito download Expo client to their devices can download the update.How:
- Open CircleCI on the release branch and go to the
clientworkflow. Onceclient_androidjob is finished, approveclient_android_apk_release_approvejob and follow the next jobclient_android_apk_releasewhich takes and uploads the artifact archive fromclient_androidjob to staging. - Test if this APK works as expected. Connect Android device to your computer or open up an emulator and then run expotools command
et client-install -p androidto install and launch an APK. - When you're ready to sync the versions change to production, run
et promote-versions.
- Open CircleCI on the release branch and go to the
-
Submit the application to Play Store
Why: So that our users that downloaded Expo client from Play Store can update easily.
How: Open the
clientworkflow from which you downloadedapp-release.apkin step 3. and approve theclient_android_approve_google_playjob. About 45 minutes later the update should be downloadable via Play Store. -
Promote versions to production
Why: Right now the APK is updated only on staging. We want to push the information to production.
How: This is probably a subject to change, but at the moment go to
universeand runpt promote-versions-to-prod.