Android Testing CI Workflow #20
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
name: Android Testing CI Workflow | |
on: | |
#push: | |
# branches: | |
# - master | |
# - develop | |
# paths-ignore: | |
# - '.github/**' | |
workflow_dispatch: | |
inputs: | |
build_animeworld: | |
description: 'Build AnimeWorld?' | |
required: false | |
default: 'true' | |
build_animeworldtv: | |
description: 'Build AnimeWorldTV?' | |
required: false | |
default: 'true' | |
build_mangaworld: | |
description: 'Build MangaWorld?' | |
required: false | |
default: 'true' | |
build_novelworld: | |
description: 'Build NovelWorld?' | |
required: false | |
default: 'true' | |
jobs: | |
mangaworld: | |
name: Generate MangaWorld APK | |
runs-on: ubuntu-latest | |
if: github.event.inputs.build_mangaworld == 'true' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- run: echo $MANGA_GOOGLE_SERVICES_JSON > mangaworld/google-services.json | |
env: | |
MANGA_GOOGLE_SERVICES_JSON: ${{ secrets.MANGA_SERVICES }} | |
- name: Setup JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: adopt | |
java-version: 17 | |
- name: Setup gradle | |
id: buildMangaApks | |
uses: gradle/[email protected] | |
with: | |
wrapper-cache-enabled: true | |
dependencies-cache-enabled: true | |
configuration-cache-enabled: true | |
- name: Build MangaWorld artifacts | |
run: ./gradlew mangaworld:assembleRelease | |
- uses: kevin-david/[email protected] | |
name: Sign app APK | |
id: manga_sign | |
with: | |
releaseDirectory: mangaworld/build/outputs/apk/full/release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- uses: kevin-david/[email protected] | |
name: Sign app APK | |
id: manga_sign_no_firebase | |
with: | |
releaseDirectory: mangaworld/build/outputs/apk/noFirebase/release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- name: Clean up MangaWorld artifacts | |
run: | | |
cp ${{ steps.manga_sign.outputs.signedReleaseFile }} mangaworld-release.apk | |
cp ${{ steps.manga_sign_no_firebase.outputs.signedReleaseFile }} mangaworld-no-firebase-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Manga App | |
path: mangaworld-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Manga No Firebase App | |
path: mangaworld-no-firebase-release.apk | |
animeworld: | |
name: Generate AnimeWorld APK | |
runs-on: ubuntu-latest | |
if: github.event.inputs.build_animeworld == 'true' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- run: echo $ANIME_GOOGLE_SERVICES_JSON > animeworld/google-services.json | |
env: | |
ANIME_GOOGLE_SERVICES_JSON: ${{ secrets.ANIME_SERVICES }} | |
- name: Setup JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: adopt | |
java-version: 17 | |
- name: Build AnimeWorld artifacts | |
id: buildAnimeApks | |
uses: gradle/[email protected] | |
with: | |
wrapper-cache-enabled: true | |
dependencies-cache-enabled: true | |
configuration-cache-enabled: true | |
arguments: animeworld:assembleRelease | |
- uses: kevin-david/[email protected] | |
name: Sign app APK | |
id: anime_sign | |
with: | |
releaseDirectory: animeworld/build/outputs/apk/full/release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- uses: kevin-david/[email protected] | |
name: Sign app APK | |
id: anime_sign_no_firebase | |
with: | |
releaseDirectory: animeworld/build/outputs/apk/noFirebase/release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- name: Clean up AnimeWorld artifacts | |
run: | | |
cp ${{ steps.anime_sign.outputs.signedReleaseFile }} animeworld-release.apk | |
cp ${{ steps.anime_sign_no_firebase.outputs.signedReleaseFile }} animeworld-no-firebase-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Anime App | |
path: animeworld-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Anime No Firebase App | |
path: animeworld-no-firebase-release.apk | |
animeworldtv: | |
name: Generate AnimeWorldTv APK | |
runs-on: ubuntu-latest | |
if: github.event.inputs.build_animeworldtv == 'true' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- run: echo $ANIME_TV_GOOGLE_SERVICES_JSON > animeworldtv/google-services.json | |
env: | |
ANIME_TV_GOOGLE_SERVICES_JSON: ${{ secrets.ANIME_TV_SERVICES }} | |
- name: Setup JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: adopt | |
java-version: 17 | |
- name: Build AnimeWorldTV artifacts | |
id: buildAnimeTvApks | |
uses: gradle/[email protected] | |
with: | |
wrapper-cache-enabled: true | |
dependencies-cache-enabled: true | |
configuration-cache-enabled: true | |
arguments: animeworldtv:assembleRelease | |
- uses: kevin-david/[email protected] | |
name: Sign app APK | |
id: animetv_sign | |
with: | |
releaseDirectory: animeworldtv/build/outputs/apk/full/release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- uses: kevin-david/[email protected] | |
name: Sign app APK | |
id: animetv_sign_no_firebase | |
with: | |
releaseDirectory: animeworldtv/build/outputs/apk/noFirebase/release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- name: Clean up AnimeWorldTV artifacts | |
run: | | |
cp ${{ steps.animetv_sign.outputs.signedReleaseFile }} animeworldtv-release.apk | |
cp ${{ steps.animetv_sign_no_firebase.outputs.signedReleaseFile }} animeworldtv-no-firebase-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed AnimeTV App | |
path: animeworldtv-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed AnimeTV No Firebase App | |
path: animeworldtv-no-firebase-release.apk | |
novelworld: | |
name: Generate NovelWorld APK | |
runs-on: ubuntu-latest | |
if: github.event.inputs.build_novelworld == 'true' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- run: echo $NOVEL_GOOGLE_SERVICES_JSON > novelworld/google-services.json | |
env: | |
NOVEL_GOOGLE_SERVICES_JSON: ${{ secrets.NOVEL_SERVICES }} | |
- name: Setup JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: adopt | |
java-version: 17 | |
- name: Build NovelWorld artifacts | |
id: buildNovelApks | |
uses: gradle/[email protected] | |
with: | |
wrapper-cache-enabled: true | |
dependencies-cache-enabled: true | |
configuration-cache-enabled: true | |
arguments: novelworld:assembleRelease | |
- uses: kevin-david/[email protected] | |
name: Sign app APK | |
id: novel_sign | |
with: | |
releaseDirectory: novelworld/build/outputs/apk/full/release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- uses: kevin-david/[email protected] | |
name: Sign app APK | |
id: novel_sign_no_firebase | |
with: | |
releaseDirectory: novelworld/build/outputs/apk/noFirebase/release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- name: Clean up NovelWorld artifacts | |
run: | | |
cp ${{ steps.novel_sign.outputs.signedReleaseFile }} novelworld-release.apk | |
cp ${{ steps.novel_sign_no_firebase.outputs.signedReleaseFile }} novelworld-no-firebase-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Novel App | |
path: novelworld-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Novel No Firebase App | |
path: novelworld-no-firebase-release.apk |