v1.0.2: New version #53
This file contains hidden or 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: 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 |