Skip to content

Build All

Build All #13

Workflow file for this run

name: Build All
on: [ workflow_call, workflow_dispatch ]
jobs:
build-android-and-desktop-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup build environment
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Build
env:
KEYSTORE: ${{ secrets.KEYSTORE }}
KEYSTORE_PASS: ${{ secrets.KEYSTORE_PASS }}
SIGN_KEY: ${{ secrets.SIGN_KEY }}
SIGN_PASS: ${{ secrets.SIGN_PASS }}
run: |
chmod +x gradlew
echo $KEYSTORE | base64 --decode > keystore.jks
./gradlew app:assembleFdroidRelease
./gradlew :core:createDistributable
cd AppImage/
./make.sh
- name: Upload Android Build
uses: actions/upload-artifact@v4
with:
name: android
path: app/build/outputs/apk/fdroid/release/*.apk
retention-days: 1
- name: Upload Desktop Build
uses: actions/upload-artifact@v4
with:
name: linux
path: AppImage/Kanji_Dojo-x86_64.AppImage
retention-days: 1
build-desktop-windows:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup build environment
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Build
run: ./gradlew core:packageDistributionForCurrentOS
- name: Upload Desktop Build
uses: actions/upload-artifact@v4
with:
name: windows
path: core/build/compose/binaries/*.msi
retention-days: 1
build-desktop-mac-intel:
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup build environment
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Build
run: |
./gradlew core:packageDistributionForCurrentOS
DMG_PATH=$(find ./core/build/compose/binaries/main/dmg -name "*.dmg")
NEW_DMG_PATH=$(echo $DMG_PATH | sed 's/kanji-dojo/kanji-dojo-intel/g')
mv $DMG_PATH $NEW_DMG_PATH
- name: Upload Desktop Build
uses: actions/upload-artifact@v4
with:
name: mac-intel
path: core/build/compose/binaries/main/dmg/*.dmg
retention-days: 1
build-desktop-mac-arm:
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup build environment
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Build
run: |
./gradlew core:packageDistributionForCurrentOS
DMG_PATH=$(find ./core/build/compose/binaries/main/dmg -name "*.dmg")
NEW_DMG_PATH=$(echo $DMG_PATH | sed 's/kanji-dojo/kanji-dojo-arm/g')
mv $DMG_PATH $NEW_DMG_PATH
- name: Upload Desktop Build
uses: actions/upload-artifact@v4
with:
name: mac-arm
path: core/build/compose/binaries/main/dmg/*.dmg
retention-days: 1
verify-uploaded-builds:
needs:
- build-android-and-desktop-linux
- build-desktop-windows
- build-desktop-mac-intel
- build-desktop-mac-arm
runs-on: ubuntu-latest
steps:
- name: Downloading artifacts
uses: actions/download-artifact@v4
- name: Print all files
run: ls -R