1+ name : CD
2+
3+ on :
4+ push :
5+ branches : [ release ]
6+
7+ defaults :
8+ run :
9+ shell : bash
10+ working-directory : .
11+
12+ jobs :
13+ build :
14+ name : Generate APK
15+ runs-on : ubuntu-latest
16+ steps :
17+ - name : Checkout
18+ uses : actions/checkout@v2
19+
20+ - name : Gradle cache
21+ uses : actions/cache@v2
22+ with :
23+ path : |
24+ ~/.gradle/caches
25+ ~/.gradle/wrapper
26+ key : ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
27+ restore-keys : |
28+ ${{ runner.os }}-gradle-
29+ - name : set up JDK 17
30+ uses : actions/setup-java@v1
31+ with :
32+ java-version : 17
33+
34+ - name : Write compile time google-services.json file
35+ env :
36+ GOOGLE_SERVICES_JSON : ${{ secrets.GOOGLE_SERVICES_JSON }}
37+ run : echo $GOOGLE_SERVICES_JSON > app/google-services.json
38+
39+ - name : Touch local properties
40+ run : touch local.properties
41+
42+ - name : Access NAVER_CLIENT_ID
43+ env :
44+ NAVER_CLIENT_ID : ${{ secrets.NAVER_CLIENT_ID }}
45+ run : echo "NAVER_CLIENT_ID = \"$NAVER_CLIENT_ID\"" >> local.properties
46+
47+ - name : Access RUNNECT_NODE_URL
48+ env :
49+ RUNNECT_NODE_URL : ${{ secrets.RUNNECT_NODE_URL }}
50+ run : echo "RUNNECT_NODE_URL=\"$RUNNECT_NODE_URL\"" >> local.properties
51+
52+ - name : Access RUNNECT_DEV_URL
53+ env :
54+ RUNNECT_DEV_URL : ${{ secrets.RUNNECT_DEV_URL }}
55+ run : echo "RUNNECT_DEV_URL=\"$RUNNECT_DEV_URL\"" >> local.properties
56+
57+ - name : Access RUNNECT_PROD_URL
58+ env :
59+ RUNNECT_PROD_URL : ${{ secrets.RUNNECT_PROD_URL }}
60+ run : echo "RUNNECT_PROD_URL=\"$RUNNECT_PROD_URL\"" >> local.properties
61+
62+ - name : Access TMAP_BASE_URL
63+ env :
64+ TMAP_BASE_URL : ${{ secrets.TMAP_BASE_URL }}
65+ run : echo "TMAP_BASE_URL=\"$TMAP_BASE_URL\"" >> local.properties
66+
67+ - name : Access TMAP_API_KEY
68+ env :
69+ TMAP_API_KEY : ${{ secrets.TMAP_API_KEY }}
70+ run : echo "TMAP_API_KEY=\"$TMAP_API_KEY\"" >> local.properties
71+
72+ - name : Access GOOGLE_CLIENT_ID
73+ env :
74+ GOOGLE_CLIENT_ID : ${{ secrets.GOOGLE_CLIENT_ID }}
75+ run : echo "GOOGLE_CLIENT_ID=\"$GOOGLE_CLIENT_ID\"" >> local.properties
76+
77+ - name : Access REMOTE_KEY_APP_VERSION
78+ env :
79+ REMOTE_KEY_APP_VERSION : ${{ secrets.REMOTE_KEY_APP_VERSION }}
80+ run : echo "REMOTE_KEY_APP_VERSION=\"$REMOTE_KEY_APP_VERSION\"" >> local.properties
81+
82+ - name : Access KAKAO_CHANNEL_ID
83+ env :
84+ KAKAO_CHANNEL_ID : ${{ secrets.KAKAO_CHANNEL_ID }}
85+ run : echo "KAKAO_CHANNEL_ID=\"$KAKAO_CHANNEL_ID\"" >> local.properties
86+
87+ - name : Add kakao_strings.xml
88+ env :
89+ KAKAO_NATIVE_APP_KEY : ${{ secrets.KAKAO_NATIVE_APP_KEY }}
90+ KAKAO_REDIRECTION_SCHEME : ${{ secrets.KAKAO_REDIRECTION_SCHEME }}
91+ run : |
92+ echo '<?xml version="1.0" encoding="utf-8"?>' > app/src/main/res/values/kakao_strings.xml
93+ echo '<resources>' >> app/src/main/res/values/kakao_strings.xml
94+ echo ' <string name="kakao_native_app_key">$KAKAO_NATIVE_APP_KEY</string>' >> app/src/main/res/values/kakao_strings.xml
95+ echo ' <string name="kakao_redirection_scheme">$KAKAO_REDIRECTION_SCHEME</string>' >> app/src/main/res/values/kakao_strings.xml
96+ echo '</resources>' >> app/src/main/res/values/kakao_strings.xml
97+
98+ - name : Decode And Save Keystore Base64
99+ run : |
100+ echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > app/keystore.jks
101+
102+ - name : Change gradlew permissions
103+ run : chmod +x ./gradlew
104+
105+ - name : Build Release AAB
106+ run : ./gradlew bundleRelease --stacktrace
107+
108+ - name : Save latest commit message as release notes for Korea
109+ run : |
110+ mkdir -p distribution/whatsnew
111+ git log -1 --pretty=format:"%s" > distribution/whatsnew/ko-KR.txt
112+
113+ - name : Release AAB
114+ uses : r0adkll/upload-google-play@v1
115+ with :
116+ serviceAccountJsonPlainText : ${{ secrets.SERVICE_ACCOUNT_JSON }}
117+ packageName : com.runnect.runnect
118+ releaseFiles : app/build/outputs/bundle/release/app-release.aab
119+ track : production
120+ status : inProgress
121+ whatsNewDirectory : ' distribution/whatsnew'
0 commit comments