Fixing roadkill signing not working #106
Workflow file for this run
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: Release Workflow | |
on: | |
push: | |
tags: | |
- 'v*' | |
paths-ignore: | |
- '.github/**' | |
workflow_dispatch: | |
jobs: | |
apk: | |
name: Generate APK | |
runs-on: ubuntu-latest | |
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 }} | |
- run: echo $MANGA_GOOGLE_SERVICES_JSON > mangaworld/google-services.json | |
env: | |
MANGA_GOOGLE_SERVICES_JSON: ${{ secrets.MANGA_SERVICES }} | |
- run: echo $NOVEL_GOOGLE_SERVICES_JSON > novelworld/google-services.json | |
env: | |
NOVEL_GOOGLE_SERVICES_JSON: ${{ secrets.NOVEL_SERVICES }} | |
- run: echo $ANIME_TV_GOOGLE_SERVICES_JSON > animeworldtv/google-services.json | |
env: | |
ANIME_TV_GOOGLE_SERVICES_JSON: ${{ secrets.ANIME_TV_SERVICES }} | |
- run: echo OTAKU_MANAGER_GOOGLE_SERVICES_JSON > otakumanager/google-services.json | |
env: | |
OTAKU_MANAGER_GOOGLE_SERVICES_JSON: ${{ secrets.OTAKU_MANAGER_SERVICES }} | |
- name: Setup JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: adopt | |
java-version: 17 | |
# - name: Build APK | |
# run: bash ./gradlew assembleRelease --stacktrace | |
# - name: Build all artifacts | |
# id: buildAllApks | |
# uses: eskatos/[email protected] | |
# with: | |
# gradle-version: current | |
# wrapper-cache-enabled: true | |
# dependencies-cache-enabled: true | |
# configuration-cache-enabled: true | |
# arguments: assembleRelease | |
- name: Build MangaWorld artifacts | |
id: buildMangaApks | |
uses: gradle/[email protected] | |
with: | |
wrapper-cache-enabled: true | |
dependencies-cache-enabled: true | |
configuration-cache-enabled: true | |
arguments: mangaworld:assembleRelease | |
- 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 | |
- 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 | |
- 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: 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: 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: 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: 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: 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 }} | |
- 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 }} | |
- 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 }} | |
- 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 }} | |
# - uses: kevin-david/[email protected] | |
# name: Sign app APK | |
# id: otakumanager_sign | |
# with: | |
# releaseDirectory: otakumanager/build/outputs/apk/release | |
# signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
# alias: ${{ secrets.ALIAS }} | |
# keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | |
# keyPassword: ${{ secrets.KEY_PASSWORD }} | |
# ${{steps.sign_app.outputs.signedReleaseFile}} | |
- name: Clean up build artifacts | |
run: | | |
cp ${{ steps.manga_sign.outputs.signedReleaseFile }} mangaworld-release.apk | |
cp ${{ steps.anime_sign.outputs.signedReleaseFile }} animeworld-release.apk | |
cp ${{ steps.novel_sign.outputs.signedReleaseFile }} novelworld-release.apk | |
cp ${{ steps.animetv_sign.outputs.signedReleaseFile }} animeworldtv-release.apk | |
cp ${{ steps.manga_sign_no_firebase.outputs.signedReleaseFile }} mangaworld-no-firebase-release.apk | |
cp ${{ steps.anime_sign_no_firebase.outputs.signedReleaseFile }} animeworld-no-firebase-release.apk | |
cp ${{ steps.novel_sign_no_firebase.outputs.signedReleaseFile }} novelworld-no-firebase-release.apk | |
cp ${{ steps.animetv_sign_no_firebase.outputs.signedReleaseFile }} animeworldtv-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 Anime App | |
path: animeworld-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Novel App | |
path: novelworld-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed AnimeTV App | |
path: animeworldtv-release.apk | |
# - uses: actions/upload-artifact@v2 | |
# with: | |
# name: Signed OtakuManager App | |
# path: otakumanager-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Manga No Firebase App | |
path: mangaworld-no-firebase-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Anime No Firebase App | |
path: animeworld-no-firebase-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed Novel No Firebase App | |
path: novelworld-no-firebase-release.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Signed AnimeTV No Firebase App | |
path: animeworldtv-no-firebase-release.apk | |
# - name: Upload APK | |
# uses: actions/upload-artifact@v1 | |
# with: | |
# name: apk | |
# path: animeworld/build/outputs/apk/debug/animeworld-debug.apk | |
# - name: Upload APK | |
# uses: actions/upload-artifact@v1 | |
# with: | |
# name: apk | |
# path: mangaworld/build/outputs/apk/debug/mangaworld-debug.apk | |
# - name: Upload APK | |
# uses: actions/upload-artifact@v1 | |
# with: | |
# name: apk | |
# path: novelworld/build/outputs/apk/debug/novelworld-debug.apk | |
release: | |
name: Release APK | |
needs: apk | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download APK from build | |
uses: actions/download-artifact@v4 | |
with: | |
name: Signed Anime App | |
- name: Download APK from build | |
uses: actions/download-artifact@v4 | |
with: | |
name: Signed Manga App | |
- name: Download APK from build | |
uses: actions/download-artifact@v4 | |
with: | |
name: Signed Novel App | |
- name: Download APK from build | |
uses: actions/download-artifact@v4 | |
with: | |
name: Signed AnimeTV App | |
- name: Download APK from build | |
uses: actions/download-artifact@v4 | |
with: | |
name: Signed Anime No Firebase App | |
- name: Download APK from build | |
uses: actions/download-artifact@v4 | |
with: | |
name: Signed Manga No Firebase App | |
- name: Download APK from build | |
uses: actions/download-artifact@v4 | |
with: | |
name: Signed Novel No Firebase App | |
- name: Download APK from build | |
uses: actions/download-artifact@v4 | |
with: | |
name: Signed AnimeTV No Firebase App | |
# - name: Download APK from build | |
# uses: actions/download-artifact@v1 | |
# with: | |
# name: Signed OtakuManager App | |
- name: Get tag name | |
id: get_tag_name | |
run: | | |
set -x | |
echo "VERSION_TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV | |
- name: Create Release | |
id: create_release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
fail_on_unmatched_files: true | |
tag_name: ${{ env.VERSION_TAG }} | |
name: Release ${{ env.VERSION_TAG }} | |
files: | | |
mangaworld-release.apk | |
animeworld-release.apk | |
novelworld-release.apk | |
animeworldtv-release.apk | |
mangaworld-no-firebase-release.apk | |
animeworld-no-firebase-release.apk | |
novelworld-no-firebase-release.apk | |
animeworldtv-no-firebase-release.apk | |
- name: Discord notification | |
env: | |
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} | |
uses: Ilshidur/action-discord@master | |
with: | |
args: 'The project {{ EVENT_PAYLOAD.repository.full_name }} has been deployed.' |