Skip to content

v1.0.2: New version #53

v1.0.2: New version

v1.0.2: New version #53

name: Build APK for Release (Full & FOSS) && Desktop app release
on:
workflow_dispatch:
pull_request:
branches: [ main ]
paths-ignore:
- 'README.md'
- 'fastlane/**'
- 'assets/**'
- '.github/**/*.md'
- '.github/FUNDING.yml'
- '.github/ISSUE_TEMPLATE/**'
push:
branches:
- 'main'
paths-ignore:
- 'README.md'
- 'fastlane/**'
- 'assets/**'
- '.github/**/*.md'
- '.github/FUNDING.yml'
- '.github/ISSUE_TEMPLATE/**'
permissions:
contents: write
jobs:
build-full-release:
name: Build full release version
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: "zulu"
cache: 'gradle'
- name: Update Sentry Secrets
env:
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
echo 'SENTRY_DSN=${{ secrets.SENTRY_DSN }}' > ./local.properties
echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> ./local.properties
- name: Update environment variables
env:
BASE_64_SIGNING_KEY: ${{ secrets.BASE_64_SIGNING_KEY }}
run:
echo $BASE_64_SIGNING_KEY | base64 -d > simpmusic.jks
- name: Update build product flavor
run: |
echo "" >> ./gradle.properties
echo "isFullBuild=true" >> ./gradle.properties
- name: Build full release APK
env:
KEYSTORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
run: ./build_and_sign_apk.sh --release --full
- name: Upload APK
uses: actions/upload-artifact@v4
with:
name: app-full-release
path: composeApp/build/outputs/apk/release/*.apk
build-foss-release:
name: Build foss release version
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: "zulu"
cache: 'gradle'
- name: Update environment variables
env:
BASE_64_SIGNING_KEY: ${{ secrets.BASE_64_SIGNING_KEY }}
run:
echo $BASE_64_SIGNING_KEY | base64 -d > simpmusic.jks
- name: Update build product flavor
run: |
echo "" >> ./gradle.properties
echo "isFullBuild=false" >> ./gradle.properties
- name: Build foss release APK
env:
KEYSTORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
run: ./build_and_sign_apk.sh --release --foss
- name: Upload APK
uses: actions/upload-artifact@v4
with:
name: app-foss-release
path: composeApp/build/outputs/apk/release/*.apk
build-desktop-deb:
name: Build desktop DEB package
runs-on: ubuntu-22.04
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 21
distribution: "zulu"
cache: 'gradle'
- name: Update build product flavor
run: |
echo "" >> ./gradle.properties
echo "isFullBuild=true" >> ./gradle.properties
- name: Update Sentry Secrets
env:
SENTRY_DSN: ${{ secrets.SENTRY_DSN_JVM }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
echo 'SENTRY_DSN=${{ secrets.SENTRY_DSN_JVM }}' > ./local.properties
echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> ./local.properties
- name: Generate aboutLibraries.json
run: ./gradlew exportLibraryDefinitions
- name: Build desktop DEB package
run: ./gradlew packageDeb
- name: Upload DEB package
uses: actions/upload-artifact@v4
with:
name: desktop-deb-package
path: composeApp/build/compose/binaries/main/deb/*.deb
build-desktop-dmg:
name: Build desktop DMG package
runs-on: macos-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 21
distribution: "zulu"
cache: 'gradle'
- name: Update build product flavor
run: |
echo "" >> ./gradle.properties
echo "isFullBuild=true" >> ./gradle.properties
- name: Update Sentry Secrets
env:
SENTRY_DSN: ${{ secrets.SENTRY_DSN_JVM }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
echo 'SENTRY_DSN=${{ secrets.SENTRY_DSN_JVM }}' > ./local.properties
echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> ./local.properties
- name: Generate aboutLibraries.json
run: ./gradlew exportLibraryDefinitions
- name: Build desktop DMG package
run: ./gradlew packageDmg
- name: Upload DMG package
uses: actions/upload-artifact@v4
with:
name: desktop-dmg-package
path: composeApp/build/compose/binaries/main/dmg/*.dmg
build-desktop-msi:
name: Build desktop MSI package
runs-on: windows-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 21
distribution: "zulu"
cache: 'gradle'
- name: Update build product flavor
run: |
echo "" >> ./gradle.properties
echo "isFullBuild=true" >> ./gradle.properties
- name: Update Sentry Secrets
env:
SENTRY_DSN: ${{ secrets.SENTRY_DSN_JVM }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
echo 'SENTRY_DSN=${{ secrets.SENTRY_DSN_JVM }}' > ./local.properties
echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> ./local.properties
- name: Generate aboutLibraries.json
run: ./gradlew exportLibraryDefinitions
- name: Build desktop MSI package
run: ./gradlew packageMsi
- name: Upload MSI package
uses: actions/upload-artifact@v4
with:
name: desktop-msi-package
path: composeApp/build/compose/binaries/main/msi/*.msi