12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- 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@v2
- - 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: 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@v1
- 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()
|