Bump activity-compose from 1.12.2 to 1.12.3 #206
Workflow file for this run
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
| # Builds the project | |
| name: Android Release CI | |
| on: | |
| push: | |
| tags: | |
| - '*.*.*.*' | |
| jobs: | |
| build: | |
| name: Build, Sign & Release | |
| if: "!startsWith(github.ref_name, 'nightly')" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout project | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| token: ${{ github.actor == 'dependabot[bot]' && secrets.GITHUB_TOKEN || secrets.GIT_BOT_TOKEN }} | |
| fetch-depth: 0 # Fetch full history | |
| - name: set up JDK 17 | |
| uses: actions/setup-java@v5.2.0 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| cache: gradle | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| - name: Stop Gradle daemons | |
| run: ./gradlew --stop | |
| - name: Decode keystore | |
| id: write_base64_file | |
| shell: bash | |
| run: | | |
| echo "${{ secrets.SIGNINGKEY_BASE64 }}" > mLauncher.jks.tmp | |
| base64 -d -i mLauncher.jks.tmp > mLauncher.jks | |
| rm mLauncher.jks.tmp | |
| mkdir -p app | |
| mv mLauncher.jks app/ | |
| DESTINATION_FILE="app/mLauncher.jks" | |
| echo "filePath=$DESTINATION_FILE" >> "$GITHUB_OUTPUT" | |
| echo "Keystore written to $DESTINATION_FILE" | |
| - name: Build with Gradle | |
| run: ./gradlew clean assembleProdRelease bundleProdRelease --refresh-dependencies --no-daemon | |
| env: | |
| JAVA_TOOL_OPTIONS: "-Dhttps.protocols=TLSv1.2" | |
| KEY_STORE_FILE: ${{ steps.write_base64_file.outputs.filePath }} | |
| KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }} | |
| KEY_ALIAS: ${{ secrets.KEY_ALIAS }} | |
| KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} | |
| - name: Secure keystore cleanup | |
| if: always() | |
| shell: bash | |
| run: | | |
| shred -u app/mLauncher.jks || rm -f app/mLauncher.jks | |
| - name: Detect build artifacts | |
| id: detect_artifacts | |
| shell: bash | |
| run: | | |
| set -e | |
| APK=$(find app/build/outputs/apk -name "*.apk" -type f | head -n 1) | |
| AAB=$(find app/build/outputs/bundle -name "*.aab" -type f | head -n 1) | |
| MAPPING=$(find app/build/outputs/mapping -name "mapping.txt" -type f | head -n 1) | |
| echo "Detected APK: $APK" | |
| echo "Detected AAB: $AAB" | |
| echo "Detected mapping: $MAPPING" | |
| if [[ -z "$APK" || -z "$AAB" ]]; then | |
| echo "❌ APK or AAB not found" | |
| exit 1 | |
| fi | |
| echo "apk=$APK" >> "$GITHUB_OUTPUT" | |
| echo "aab=$AAB" >> "$GITHUB_OUTPUT" | |
| echo "mapping=$MAPPING" >> "$GITHUB_OUTPUT" | |
| - name: Release to GitHub | |
| uses: svenstaro/upload-release-action@2.11.3 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| file: ${{ steps.detect_artifacts.outputs.apk }} | |
| asset_name: MultiLauncher-${{ github.ref_name }}-Signed.apk | |
| tag: ${{ github.ref }} | |
| overwrite: true | |
| - name: Upload ProGuard Mapping File | |
| uses: svenstaro/upload-release-action@2.11.3 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| file: ${{ steps.detect_artifacts.outputs.mapping }} | |
| asset_name: MultiLauncher-${{ github.ref_name }}-mapping.txt | |
| tag: ${{ github.ref }} | |
| overwrite: true | |
| - name: Release to GitHub | |
| uses: svenstaro/upload-release-action@2.11.3 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| file: ${{ steps.detect_artifacts.outputs.aab }} | |
| asset_name: MultiLauncher-${{ github.ref_name }}-Signed.aab | |
| tag: ${{ github.ref }} | |
| overwrite: true | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' # or whatever version you need | |
| - name: Post Release to Discord | |
| env: | |
| DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} | |
| DISCORD_ROLEID: ${{ secrets.DISCORD_ROLEID }} | |
| run: | | |
| # Run your Discord release script | |
| node post-discord-release.js |