11name : build
22
33on :
4- push :
4+ pull_request :
55 branches :
66 - master
7+ types : [closed]
78jobs :
8- build_and_deploy_ios :
9+ build_and_deploy_ios_testflight_qa :
10+ if : ${{ github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'deploy') }}
911 runs-on : [macos-latest]
1012 steps :
1113 - uses : actions/checkout@v2
1214 - name : Install RubyGems
1315 run : |
1416 cd examples/SampleApp/ios
1517 bundle update --bundler
16- - name : Install firebase-tools
17- run : npm install -g firebase-tools
1818 - name : RN setup
1919 run : |
2020 yarn;
@@ -24,16 +24,19 @@ jobs:
2424 yarn;
2525 cd ios
2626 pod install
27- - name : Build and release
27+ - name : Build and release Testflight QA
2828 env :
2929 MATCH_PASSWORD : ${{ secrets.MATCH_PASSWORD }}
3030 MATCH_GIT_BASIC_AUTHORIZATION : ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
31- FIREBASE_TOKEN : ${{ secrets.FIREBASE_TOKEN }}
31+ APP_STORE_CONNECT_API_KEY_KEY_ID : ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
32+ APP_STORE_CONNECT_API_KEY_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
33+ APP_STORE_CONNECT_API_KEY_KEY : ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
3234 run : |
3335 cd examples/SampleApp/ios
34- bundle exec fastlane distribute
36+ bundle exec fastlane deploy_to_testflight_qa
3537
36- build_and_deploy_android :
38+ build_and_deploy_android_s3 :
39+ if : ${{ github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'deploy') }}
3740 runs-on : ubuntu-latest
3841 steps :
3942 - uses : actions/checkout@v2
@@ -56,10 +59,14 @@ jobs:
5659 yarn react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest tmp
5760 cd android
5861 rm -rf $HOME/.gradle/caches/ && ./gradlew assembleRelease
59- - name : Deploy
60- 62+
63+ - name : Configure AWS credentials
64+ uses : aws-actions/configure-aws-credentials@v1
6165 with :
62- appId : ${{secrets.ANDROID_FIREBASE_APP_ID}}
63- token : ${{secrets.FIREBASE_TOKEN}}
64- groups : android-react-native-testers
65- file : examples/SampleApp/android/app/build/outputs/apk/release/app-release.apk
66+ aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
67+ aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
68+ aws-region : us-east-1
69+ - name : Upload APK
70+ run : |
71+ cp examples/SampleApp/android/app/build/outputs/apk/release/app-release.apk rn-sample-app.apk
72+ aws s3 cp rn-sample-app.apk s3://${{ secrets.AWS_S3_BUCKET }} --sse AES256
0 commit comments