Skip to content

Fixing roadkill signing not working #106

Fixing roadkill signing not working

Fixing roadkill signing not working #106

Workflow file for this run

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.'