-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(android): auto build and deploy android remote to play store (#766
) * auto build and deploy android remote to play store (open testing track) * update full description for play store * improve session selector * refresh button * direct connect button * disconnect from current session and go back to session selector * add demo implementation for play store review
- Loading branch information
Showing
30 changed files
with
814 additions
and
91 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
--- | ||
on: | ||
push: | ||
branches: [main] | ||
paths: | ||
- ".github/workflows/mobile.yml" | ||
- "crates/ui/android/**" | ||
- "crates/ui/lib/mobile/**" | ||
- "crates/ui/pubspec.yaml" | ||
- "crates/ui/pubspec.lock" | ||
|
||
name: Mobile App | ||
|
||
concurrency: | ||
group: ${{ github.workflow }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build-android-remote: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: recursive | ||
# Build android release bundle | ||
- uses: subosito/flutter-action@v2 | ||
with: | ||
channel: stable | ||
flutter-version-file: "crates/ui/pubspec.yaml" | ||
- name: Decode keystore | ||
env: | ||
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }} | ||
run: echo "$ANDROID_KEYSTORE" | base64 -d > keystore.jks | ||
working-directory: crates/ui/android/app | ||
- name: Create properties file | ||
env: | ||
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} | ||
ANDROID_SIGNING_KEY_PASSWORD: ${{ secrets.ANDROID_SIGNING_KEY_PASSWORD }} | ||
ANDROID_SIGNING_KEY_ALIAS: ${{ secrets.ANDROID_SIGNING_KEY_ALIAS }} | ||
run: | | ||
echo "storePassword=$ANDROID_KEYSTORE_PASSWORD" > key.properties | ||
echo "keyPassword=$ANDROID_SIGNING_KEY_PASSWORD" >> key.properties | ||
echo "keyAlias=$ANDROID_SIGNING_KEY_ALIAS" >> key.properties | ||
echo "storeFile=keystore.jks" >> key.properties | ||
working-directory: crates/ui/android | ||
- name: Build | ||
run: make android_bundle | ||
working-directory: crates/ui | ||
# Upload to play store | ||
- name: Decode service account file | ||
env: | ||
SERVICE_ACCOUNT_KEY_JSON: ${{ secrets.SERVICE_ACCOUNT_KEY_JSON }} | ||
run: echo $SERVICE_ACCOUNT_KEY_JSON | base64 -d > service_account_key.json | ||
working-directory: crates/ui/android | ||
- name: Set up ruby env | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: 2.7.2 | ||
bundler-cache: true | ||
- name: Deploy | ||
run: | | ||
bundle install | ||
bundle exec fastlane beta | ||
working-directory: crates/ui/android |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
source "https://rubygems.org" | ||
|
||
gem "fastlane" | ||
|
||
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') | ||
eval_gemfile(plugins_path) if File.exist?(plugins_path) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,224 @@ | ||
GEM | ||
remote: https://rubygems.org/ | ||
specs: | ||
CFPropertyList (3.0.7) | ||
base64 | ||
nkf | ||
rexml | ||
addressable (2.8.7) | ||
public_suffix (>= 2.0.2, < 7.0) | ||
artifactory (3.0.17) | ||
atomos (0.1.3) | ||
aws-eventstream (1.3.0) | ||
aws-partitions (1.1003.0) | ||
aws-sdk-core (3.212.0) | ||
aws-eventstream (~> 1, >= 1.3.0) | ||
aws-partitions (~> 1, >= 1.992.0) | ||
aws-sigv4 (~> 1.9) | ||
jmespath (~> 1, >= 1.6.1) | ||
aws-sdk-kms (1.95.0) | ||
aws-sdk-core (~> 3, >= 3.210.0) | ||
aws-sigv4 (~> 1.5) | ||
aws-sdk-s3 (1.170.0) | ||
aws-sdk-core (~> 3, >= 3.210.0) | ||
aws-sdk-kms (~> 1) | ||
aws-sigv4 (~> 1.5) | ||
aws-sigv4 (1.10.1) | ||
aws-eventstream (~> 1, >= 1.0.2) | ||
babosa (1.0.4) | ||
base64 (0.2.0) | ||
claide (1.1.0) | ||
colored (1.2) | ||
colored2 (3.1.2) | ||
commander (4.6.0) | ||
highline (~> 2.0.0) | ||
declarative (0.0.20) | ||
digest-crc (0.6.5) | ||
rake (>= 12.0.0, < 14.0.0) | ||
domain_name (0.6.20240107) | ||
dotenv (2.8.1) | ||
emoji_regex (3.2.3) | ||
excon (0.112.0) | ||
faraday (1.10.4) | ||
faraday-em_http (~> 1.0) | ||
faraday-em_synchrony (~> 1.0) | ||
faraday-excon (~> 1.1) | ||
faraday-httpclient (~> 1.0) | ||
faraday-multipart (~> 1.0) | ||
faraday-net_http (~> 1.0) | ||
faraday-net_http_persistent (~> 1.0) | ||
faraday-patron (~> 1.0) | ||
faraday-rack (~> 1.0) | ||
faraday-retry (~> 1.0) | ||
ruby2_keywords (>= 0.0.4) | ||
faraday-cookie_jar (0.0.7) | ||
faraday (>= 0.8.0) | ||
http-cookie (~> 1.0.0) | ||
faraday-em_http (1.0.0) | ||
faraday-em_synchrony (1.0.0) | ||
faraday-excon (1.1.0) | ||
faraday-httpclient (1.0.1) | ||
faraday-multipart (1.0.4) | ||
multipart-post (~> 2) | ||
faraday-net_http (1.0.2) | ||
faraday-net_http_persistent (1.2.0) | ||
faraday-patron (1.0.0) | ||
faraday-rack (1.0.0) | ||
faraday-retry (1.0.3) | ||
faraday_middleware (1.2.1) | ||
faraday (~> 1.0) | ||
fastimage (2.3.1) | ||
fastlane (2.225.0) | ||
CFPropertyList (>= 2.3, < 4.0.0) | ||
addressable (>= 2.8, < 3.0.0) | ||
artifactory (~> 3.0) | ||
aws-sdk-s3 (~> 1.0) | ||
babosa (>= 1.0.3, < 2.0.0) | ||
bundler (>= 1.12.0, < 3.0.0) | ||
colored (~> 1.2) | ||
commander (~> 4.6) | ||
dotenv (>= 2.1.1, < 3.0.0) | ||
emoji_regex (>= 0.1, < 4.0) | ||
excon (>= 0.71.0, < 1.0.0) | ||
faraday (~> 1.0) | ||
faraday-cookie_jar (~> 0.0.6) | ||
faraday_middleware (~> 1.0) | ||
fastimage (>= 2.1.0, < 3.0.0) | ||
fastlane-sirp (>= 1.0.0) | ||
gh_inspector (>= 1.1.2, < 2.0.0) | ||
google-apis-androidpublisher_v3 (~> 0.3) | ||
google-apis-playcustomapp_v1 (~> 0.1) | ||
google-cloud-env (>= 1.6.0, < 2.0.0) | ||
google-cloud-storage (~> 1.31) | ||
highline (~> 2.0) | ||
http-cookie (~> 1.0.5) | ||
json (< 3.0.0) | ||
jwt (>= 2.1.0, < 3) | ||
mini_magick (>= 4.9.4, < 5.0.0) | ||
multipart-post (>= 2.0.0, < 3.0.0) | ||
naturally (~> 2.2) | ||
optparse (>= 0.1.1, < 1.0.0) | ||
plist (>= 3.1.0, < 4.0.0) | ||
rubyzip (>= 2.0.0, < 3.0.0) | ||
security (= 0.1.5) | ||
simctl (~> 1.6.3) | ||
terminal-notifier (>= 2.0.0, < 3.0.0) | ||
terminal-table (~> 3) | ||
tty-screen (>= 0.6.3, < 1.0.0) | ||
tty-spinner (>= 0.8.0, < 1.0.0) | ||
word_wrap (~> 1.0.0) | ||
xcodeproj (>= 1.13.0, < 2.0.0) | ||
xcpretty (~> 0.3.0) | ||
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) | ||
fastlane-plugin-increment_version_code (0.4.3) | ||
fastlane-sirp (1.0.0) | ||
sysrandom (~> 1.0) | ||
gh_inspector (1.1.3) | ||
google-apis-androidpublisher_v3 (0.54.0) | ||
google-apis-core (>= 0.11.0, < 2.a) | ||
google-apis-core (0.11.3) | ||
addressable (~> 2.5, >= 2.5.1) | ||
googleauth (>= 0.16.2, < 2.a) | ||
httpclient (>= 2.8.1, < 3.a) | ||
mini_mime (~> 1.0) | ||
representable (~> 3.0) | ||
retriable (>= 2.0, < 4.a) | ||
rexml | ||
google-apis-iamcredentials_v1 (0.17.0) | ||
google-apis-core (>= 0.11.0, < 2.a) | ||
google-apis-playcustomapp_v1 (0.13.0) | ||
google-apis-core (>= 0.11.0, < 2.a) | ||
google-apis-storage_v1 (0.31.0) | ||
google-apis-core (>= 0.11.0, < 2.a) | ||
google-cloud-core (1.7.1) | ||
google-cloud-env (>= 1.0, < 3.a) | ||
google-cloud-errors (~> 1.0) | ||
google-cloud-env (1.6.0) | ||
faraday (>= 0.17.3, < 3.0) | ||
google-cloud-errors (1.4.0) | ||
google-cloud-storage (1.47.0) | ||
addressable (~> 2.8) | ||
digest-crc (~> 0.4) | ||
google-apis-iamcredentials_v1 (~> 0.1) | ||
google-apis-storage_v1 (~> 0.31.0) | ||
google-cloud-core (~> 1.6) | ||
googleauth (>= 0.16.2, < 2.a) | ||
mini_mime (~> 1.0) | ||
googleauth (1.8.1) | ||
faraday (>= 0.17.3, < 3.a) | ||
jwt (>= 1.4, < 3.0) | ||
multi_json (~> 1.11) | ||
os (>= 0.9, < 2.0) | ||
signet (>= 0.16, < 2.a) | ||
highline (2.0.3) | ||
http-cookie (1.0.7) | ||
domain_name (~> 0.5) | ||
httpclient (2.8.3) | ||
jmespath (1.6.2) | ||
json (2.8.1) | ||
jwt (2.9.3) | ||
base64 | ||
mini_magick (4.13.2) | ||
mini_mime (1.1.5) | ||
multi_json (1.15.0) | ||
multipart-post (2.4.1) | ||
nanaimo (0.4.0) | ||
naturally (2.2.1) | ||
nkf (0.2.0) | ||
optparse (0.6.0) | ||
os (1.1.4) | ||
plist (3.7.1) | ||
public_suffix (6.0.1) | ||
rake (13.2.1) | ||
representable (3.2.0) | ||
declarative (< 0.1.0) | ||
trailblazer-option (>= 0.1.1, < 0.2.0) | ||
uber (< 0.2.0) | ||
retriable (3.1.2) | ||
rexml (3.3.9) | ||
rouge (2.0.7) | ||
ruby2_keywords (0.0.5) | ||
rubyzip (2.3.2) | ||
security (0.1.5) | ||
signet (0.19.0) | ||
addressable (~> 2.8) | ||
faraday (>= 0.17.5, < 3.a) | ||
jwt (>= 1.5, < 3.0) | ||
multi_json (~> 1.10) | ||
simctl (1.6.10) | ||
CFPropertyList | ||
naturally | ||
sysrandom (1.0.5) | ||
terminal-notifier (2.0.0) | ||
terminal-table (3.0.2) | ||
unicode-display_width (>= 1.1.1, < 3) | ||
trailblazer-option (0.1.2) | ||
tty-cursor (0.7.1) | ||
tty-screen (0.8.2) | ||
tty-spinner (0.9.3) | ||
tty-cursor (~> 0.7) | ||
uber (0.1.0) | ||
unicode-display_width (2.6.0) | ||
word_wrap (1.0.0) | ||
xcodeproj (1.27.0) | ||
CFPropertyList (>= 2.3.3, < 4.0) | ||
atomos (~> 0.1.3) | ||
claide (>= 1.0.2, < 2.0) | ||
colored2 (~> 3.1) | ||
nanaimo (~> 0.4.0) | ||
rexml (>= 3.3.6, < 4.0) | ||
xcpretty (0.3.0) | ||
rouge (~> 2.0.7) | ||
xcpretty-travis-formatter (1.0.1) | ||
xcpretty (~> 0.2, >= 0.0.7) | ||
|
||
PLATFORMS | ||
ruby | ||
x86_64-linux | ||
|
||
DEPENDENCIES | ||
fastlane | ||
fastlane-plugin-increment_version_code | ||
|
||
BUNDLED WITH | ||
2.5.23 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.