123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- name: Android CI
- on:
- push:
- branches: [ master ]
- pull_request:
- branches: [ master ]
- jobs:
- build:
- runs-on: ubuntu-latest
- env:
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
- steps:
- - uses: actions/checkout@v4
- with:
- persist-credentials: false
-
- - name: set up JDK 1.8
- uses: actions/setup-java@v2
- with:
- java-version: 1.8
- distribution: 'adopt'
- - name: Install NDK
- run: echo "y" | sudo /usr/local/lib/android/sdk/tools/bin/sdkmanager --install "ndk;21.0.6113669" --sdk_root=${ANDROID_SDK_ROOT}
- - name: Validate checksum gradle wrapper
- uses: gradle/wrapper-validation-action@v1
- - name: Gradle cache
- id: cache
- uses: actions/cache@v2
- with:
- path: ~/.gradle/caches
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
- restore-keys: |
- ${{ runner.os }}-gradle-
- - name: Enable KVM group perms
- run: |
- echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
- sudo udevadm control --reload-rules
- sudo udevadm trigger --name-match=kvm
- - name: Build Debug APK
- run: |
- chmod +x gradlew
- ./gradlew assembleDebug
- - name: Build Release AAB
- id: buildRelease
- run: ./gradlew bundleRelease
- - name: Sign AAB
- id: sign
- uses: r0adkll/sign-android-release@v1
- with:
- releaseDirectory: app/build/outputs/bundle/release
- signingKeyBase64: ${{ secrets.SIGNING_KEY }}
- alias: ${{ secrets.ALIAS }}
- keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
- keyPassword: ${{ secrets.KEY_PASSWORD }}
- - name: Upload AAB/APK
- id: uploadArtifact
- uses: actions/upload-artifact@v4
- with:
- name: artifact
- path: |
- app/build/outputs/apk/release/app-release.apk
- app/build/outputs/bundle/release/app-release.aab
- - name: Releasing using Hub
- uses: ShaunLWM/action-release-debugapk@master
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_RElEASE_TOKEN }}
- APP_FOLDER: app
- RELEASE_TITLE: Version
- - name: Create service_account.json
- id: createServiceAccount
- run: echo '${{ secrets.SERVICE_ACCOUNT_JSON }}' > service_account.json
-
- - name: Deploy to Play Store (BETA)
- id: deploy
- uses: r0adkll/upload-google-play@v1
- with:
- serviceAccountJson: service_account.json
- packageName: com.package
- releaseFile: app/build/outputs/bundle/release/app-release.aab
- track: beta
- whatsNewDirectory: whatsnew/
- - name: Notify on Slack
- uses: act10ns/slack@v1
- with:
- status: ${{ job.status }}
- steps: ${{ toJson(steps) }}
- if: always()
|