1+ name : melonDS Android Release
2+
3+ on :
4+ # Trigger action when a tag is pushed
5+ push :
6+ tags :
7+
8+ jobs :
9+ github-release :
10+ runs-on : ubuntu-latest
11+
12+ steps :
13+ - uses : actions/checkout@v2
14+ with :
15+ submodules : recursive
16+
17+ - uses : actions/setup-java@v1
18+ with :
19+ java-version : ' 8'
20+
21+ - name : Setup Android SDK
22+ uses : android-actions/setup-android@v2
23+
24+ - name : Build melonDS Android
25+ env :
26+ MELONDS_KEYSTORE : ${{ secrets.MELONDS_KEYSTORE }}
27+ MELONDS_KEYSTORE_PASSWORD : ${{ secrets.MELONDS_KEYSTORE_PASSWORD }}
28+ ANDROID_NDK_HOME : ${{ steps.setup-ndk.outputs.ndk-path }}
29+ run : |
30+ echo "$MELONDS_KEYSTORE" | base64 -d > ${{runner.workspace}}/keystore.jks
31+ echo "MELONDS_KEYSTORE=${{runner.workspace}}/keystore.jks" >> local.properties
32+ echo "MELONDS_KEYSTORE_PASSWORD=$MELONDS_KEYSTORE_PASSWORD" >> local.properties
33+ echo "MELONDS_KEY_ALIAS=melonds" >> local.properties
34+ echo "MELONDS_KEY_PASSWORD=$MELONDS_KEYSTORE_PASSWORD" >> local.properties
35+ chmod +x ./gradlew
36+ ./gradlew :app:assembleGitHubRelease
37+
38+ - name : Get Tag and Version
39+ id : release_params
40+ run : |
41+ echo ::set-output name=TAG::${GITHUB_REF/refs\/tags\//}
42+ echo ::set-output name=VERSION::$(grep -oP 'versionName = "\K(.*?)(?=")' buildSrc/src/main/kotlin/AppConfig.kt)
43+ echo ::set-output name=ASSET_NAME::$(echo ${GITHUB_REF/refs\/tags\//} | sed 's/\./_/g')
44+
45+ - name : Create GitHub Release
46+ id : create_release
47+ uses : actions/create-release@v1
48+ env :
49+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
50+ with :
51+ tag_name : ${{ steps.release_params.outputs.TAG }}
52+ release_name : ${{ steps.release_params.outputs.VERSION }}
53+ body_path : ./.github/changelog/gitHub.md
54+
55+ - name : Upload Release Asset
56+ id : upload-release-asset
57+ uses : actions/upload-release-asset@v1
58+ env :
59+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
60+ with :
61+ upload_url : ${{ steps.create_release.outputs.upload_url }}
62+ asset_path : app/build/outputs/apk/gitHub/release/app-gitHub-release.apk
63+ asset_name : melonDS-${{ steps.release_params.outputs.ASSET_NAME }}.apk
64+ asset_content_type : application/vnd.android.package-archive
65+
66+ playstore-release :
67+ runs-on : ubuntu-latest
68+
69+ steps :
70+ - uses : actions/checkout@v2
71+ with :
72+ submodules : recursive
73+
74+ - uses : actions/setup-java@v1
75+ with :
76+ java-version : ' 8'
77+
78+ - name : Setup Android SDK
79+ uses : android-actions/setup-android@v2
80+
81+ - name : Build melonDS Android
82+ env :
83+ MELONDS_KEYSTORE : ${{ secrets.MELONDS_KEYSTORE }}
84+ MELONDS_KEYSTORE_PASSWORD : ${{ secrets.MELONDS_KEYSTORE_PASSWORD }}
85+ MELONDS_KEY_PASSWORD : ${{ secrets.MELONDS_KEYSTORE_PLAYSTORE_PASSWORD }}
86+ ANDROID_NDK_HOME : ${{ steps.setup-ndk.outputs.ndk-path }}
87+ run : |
88+ echo "$MELONDS_KEYSTORE" | base64 -d > ${{runner.workspace}}/keystore.jks
89+ echo "MELONDS_KEYSTORE=${{runner.workspace}}/keystore.jks" >> local.properties
90+ echo "MELONDS_KEYSTORE_PASSWORD=$MELONDS_KEYSTORE_PASSWORD" >> local.properties
91+ echo "MELONDS_KEY_ALIAS=melonds-playstore" >> local.properties
92+ echo "MELONDS_KEY_PASSWORD=$MELONDS_KEY_PASSWORD" >> local.properties
93+ chmod +x ./gradlew
94+ ./gradlew :app:assemblePlayStoreRelease
95+
96+ - name : Get Version
97+ id : release_params
98+ run : echo ::set-output name=VERSION::$(grep -oP 'versionName = "\K(.*?)(?=")' buildSrc/src/main/kotlin/AppConfig.kt)
99+
100+ - name : Create Play Store Release
101+ uses : r0adkll/upload-google-play@v1
102+ with :
103+ serviceAccountJson : ${{ MELONDS_PLAYSTORE_ACCOUNT_JSON }}
104+ packageName : me.magnum.melonds
105+ releaseName : ${{ steps.release_params.outputs.VERSION }}
106+ releaseFiles : app/build/outputs/apk/playStore/release/app-playStore-release.apk
107+ track : beta
108+ inAppUpdatePriority : 2
109+ whatsNewDirectory : ./.github/changelog/playStore
110+ mappingFile : app/build/outputs/mapping/playStoreRelease/mapping.txt
0 commit comments