fix(CI/CD): yarn cache issue #18
This file contains 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
name: Android Build | |
on: | |
push: | |
branches: | |
- 'main' | |
tags: | |
- 'v*' | |
jobs: | |
buildApk: | |
name: Build android APK | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/[email protected] | |
- name: Create .env file from secrets | |
run: | | |
echo WEB_CLIENT_ID=${{ secrets.WEB_CLIENT_ID }} > .env | |
echo FB_APP_ID=${{ secrets.FB_APP_ID }} >> .env | |
echo FB_LOGIN_PROTOCOL=${{ secrets.FB_LOGIN_PROTOCOL }} >> .env | |
echo FB_CLIENT_TOKEN=${{ secrets.FB_CLIENT_TOKEN }} >> .env | |
- name: Setup Java JDK | |
uses: actions/[email protected] | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
cache: 'gradle' | |
- uses: actions/[email protected] | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Setup Node.js environment | |
uses: actions/[email protected] | |
with: | |
node-version: '20.*.*' | |
- name: Cache Yarn dependencies | |
uses: actions/[email protected] | |
with: | |
path: | | |
.yarn/cache | |
.yarn/unplugged | |
.yarn/build-state.yml | |
.pnp.* | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock', '.yarnrc.yml', '.yarn/cache/**/*') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install node dependencies | |
run: yarn install --immutable | |
- name: Decode Keystore & google services config | |
env: | |
ENCODED_STRING: ${{ secrets.SIGNING_KEY_STORE_BASE64 }} | |
GOOGLE_SERVICES_CONFIG: ${{ secrets.GOOGLE_SERVICES_JSON }} | |
run: | | |
echo $ENCODED_STRING | base64 -d > android/app/keystore.jks | |
echo $GOOGLE_SERVICES_CONFIG | base64 -d > android/app/google-services.json | |
- name: Generate android APK | |
env: | |
SIGNING_KEY_STORE_PATH: ${{ secrets.SIGNING_KEY_STORE_PATH }} | |
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} | |
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} | |
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }} | |
run: | | |
source .env | |
yarn generate:apk | |
- name: Upload APK | |
uses: actions/[email protected] | |
with: | |
name: app.apk | |
path: android/app/build/outputs/apk/release/app-release.apk | |
if-no-files-found: error |