Skip to content

Merge pull request #4 from palakkeni5/feature/add-icon #24

Merge pull request #4 from palakkeni5/feature/add-icon

Merge pull request #4 from palakkeni5/feature/add-icon #24

Workflow file for this run

name: Android Build
on:
push:
branches: ['main', 'feature/github-actions-build']
jobs:
android-build:
name: Android Build
runs-on: ubuntu-latest
steps:
- name: Show self-hosted machine infomation
run: uname -a
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.9.1
- name: Check out Git repository
uses: actions/checkout@v2
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: 20.12.2
- name: Install dependencies
run: npm install
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'temurin'
- name: Decode Keystore
env:
ENCODED_STRING: ${{ secrets.KEYSTORE }}
run: |
TMP_KEYSTORE_FILE_PATH="${RUNNER_TEMP}"/keystore
mkdir "${TMP_KEYSTORE_FILE_PATH}"
echo $ENCODED_STRING | base64 -di > "${TMP_KEYSTORE_FILE_PATH}"/palak_keystore.jks
- name: Setup build tool version variable
shell: bash
run: |
BUILD_TOOL_VERSION=$(ls /usr/local/lib/android/sdk/build-tools/ | tail -n 1)
echo "BUILD_TOOL_VERSION=$BUILD_TOOL_VERSION" >> $GITHUB_ENV
echo Last build tool version is: $BUILD_TOOL_VERSION
- name: Make Gradlew Executable
run: cd android && chmod +x ./gradlew
- name: Build Android Release
run: |
cd android && ./gradlew clean && ./gradlew app:assembleRelease
env:
MYAPP_UPLOAD_STORE_PASSWORD: ${{ secrets.MYAPP_UPLOAD_STORE_PASSWORD }}
MYAPP_UPLOAD_KEY_PASSWORD: ${{ secrets.MYAPP_UPLOAD_KEY_PASSWORD }}
- name: Sign APK
id: sign_app
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: ${{ github.workspace}}/android/app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.KEYSTORE }}
alias: palak-keni-alias
keyStorePassword: ${{ secrets.MYAPP_UPLOAD_STORE_PASSWORD }}
keyPassword: ${{ secrets.MYAPP_UPLOAD_KEY_PASSWORD }}
env:
BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }}
- name: Upload APK
id: uploadArtifact
uses: actions/upload-artifact@v2
with:
name: app
path: ${{steps.sign_app.outputs.signedReleaseFile}}
- name: Clean up
if: always()
run: npm uninstall -g yarn