Skip to content

1.4.2

1.4.2 #14

Workflow file for this run

name: Build Android Release Package
on:
release:
types: [published]
workflow_dispatch:
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- name: Create Keystore
env:
KEYSTORE: ${{ secrets.KEYSTORE_BASE64 }}
run: echo "${KEYSTORE// /}" | base64 -d > keystore.jks
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Create Sekrets
env:
YAML: ${{ secrets.SEKRET_YAML_BASE64 }}
run: echo "${YAML// /}" | base64 -d > composeApp/sekret.yaml
- name: Create Google-Services
env:
GOOGLE_SERVICES: ${{ secrets.GOOGLE_SERVICES_BASE64 }}
run: echo "${GOOGLE_SERVICES// /}" | base64 -d > composeApp/google-services.json
- name: Generate Sekrets
run: ./gradlew composeApp:generateSekret
- name: Create and Copy Sekrets
run: ./gradlew composeApp:createAndCopySekretNativeBinary
- name: Pre-Build
continue-on-error: true
run: ./gradlew build
- name: Build Release APK
run: ./gradlew composeApp:assembleRelease
env:
ADMOB_APP_ID: ${{ secrets.ADMOB_APP_ID }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
- name: Build Release AAB
run: ./gradlew composeApp:bundleRelease
env:
ADMOB_APP_ID: ${{ secrets.ADMOB_APP_ID }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
- name: Upload Release Packages
uses: softprops/action-gh-release@v2.3.2
if: ${{ github.event_name == 'release' }}
with:
files: |
composeApp/release/*.apk
composeApp/build/outputs/apk/release/*.apk
composeApp/release/*.aab
composeApp/build/outputs/bundle/release/*.aab
- name: Upload Release APK
uses: actions/upload-artifact@v4
if: ${{ github.event_name == 'workflow_dispatch' }}
with:
name: apk-release
path: |
composeApp/release/*.apk
composeApp/build/outputs/apk/release/*.apk
- name: Upload Release AAB
uses: actions/upload-artifact@v4
if: ${{ github.event_name == 'workflow_dispatch' }}
with:
name: aab-release
path: |
composeApp/release/*.aab
composeApp/build/outputs/bundle/release/*.aab