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 --info
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