Skip to content

build(deps): update dependency androidx.compose:compose-bom to v2026.… #82

build(deps): update dependency androidx.compose:compose-bom to v2026.…

build(deps): update dependency androidx.compose:compose-bom to v2026.… #82

name: Android Release
on:
push:
branches:
- master
- staging
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: 🔑 Create token
uses: actions/create-github-app-token@v3
id: app-token
with:
app-id: ${{ secrets.GH_APP_ID}}
private-key: ${{ secrets.GH_PRIVATE_KEY }}
- name: 📥 Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
token: ${{ steps.app-token.outputs.token }}
- name: 📦 Setup JDK
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '21'
cache: 'gradle'
- name: 📦 Setup Android SDK
uses: android-actions/setup-android@v4
- name: 🧹 Check format
run: |
./gradlew ktfmtCheck
- name: 🔐 Setup Keystore
env:
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
run: |
echo $KEYSTORE_BASE64 | base64 --decode > keystore.jks
- name: 🚀 Release APK
uses: cycjimmy/semantic-release-action@v4
id: release
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
with:
semantic_version: 24
extra_plugins: |
@semantic-release/changelog
@semantic-release/git
@semantic-release/exec
- name: 📤 Upload bundle to PlayStore
if: steps.release.outputs.new_release_published == 'true'
uses: r0adkll/upload-google-play@v1
with:
releaseFiles: app/build/outputs/bundle/release/app-release.aab
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
packageName: de.pawcode.cardstore
track: ${{ github.ref == 'refs/heads/master' && 'production' || 'beta' }}
releaseName: ${{ steps.release.outputs.new_release_version }}
status: draft
mappingFile: app/build/outputs/mapping/release/mapping.txt
debugSymbols: app/build/intermediates/merged_native_libs/release/mergeReleaseNativeLibs/out/lib
- name: 🖥️ Update website
if: steps.release.outputs.new_release_published == 'true' && !steps.release.outputs.new_release_channel && steps.release.outputs.new_release_patch_version == '0'
uses: pawcoding/update-project-action@v0.0.5
with:
pocketbase-url: ${{ vars.PB_URL }}
collection-id: ${{ vars.PB_COLLECTION }}
record-id: ${{ vars.PB_RECORD }}
env:
PB_TOKEN: ${{ secrets.PB_TOKEN }}