remove android_home #3
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 CI/CD | |
on: | |
push: | |
branches: | |
- next | |
tags: | |
- "v*.*.*" | |
pull_request: | |
branches: | |
- next | |
jobs: | |
build: | |
name: Build and Test | |
runs-on: ubuntu-latest | |
env: | |
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 | |
LANG: en_US.UTF-8 | |
LC_ALL: en_US.UTF-8 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: "17" | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "20" | |
cache: "pnpm" | |
- name: Install pnpm | |
run: npm install -g pnpm@8 | |
- name: Configure pnpm store | |
run: pnpm config set store-dir ~/.pnpm-store | |
- name: Install Dependencies | |
run: pnpm install | |
- name: Build Project | |
run: pnpm build | |
- name: Run Tests | |
run: pnpm test | |
- name: Set up Android SDK | |
uses: android-actions/setup-android@v3 | |
- name: Decrypt and Extract signing.tar.enc | |
env: | |
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} | |
run: | | |
openssl enc -aes-256-cbc -pbkdf2 -iter 100000 \ | |
-d -in signing.tar.enc -out signing.tar \ | |
-pass pass:"$SIGNING_KEY_PASSWORD" | |
tar xvf signing.tar | |
- name: Configure Keystore | |
run: | | |
mkdir -p ~/.android | |
cp keystore.properties ~/.android/keystore.properties | |
- name: Cache Gradle packages | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper/ | |
key: > | |
${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Build Release | |
run: ./gradlew assembleRelease | |
deploy: | |
name: Deploy to Google Play | |
needs: build | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 | |
LANG: en_US.UTF-8 | |
LC_ALL: en_US.UTF-8 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: "17" | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "20" | |
cache: "pnpm" | |
- name: Install pnpm | |
run: npm install -g pnpm@8 | |
- name: Configure pnpm store | |
run: pnpm config set store-dir ~/.pnpm-store | |
- name: Install Dependencies | |
run: pnpm install | |
- name: Build Project | |
run: pnpm build | |
- name: Run Tests | |
run: pnpm test | |
- name: Set up Android SDK | |
uses: android-actions/setup-android@v3 | |
- name: Decrypt and Extract signing.tar.enc | |
env: | |
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} | |
run: | | |
openssl enc -aes-256-cbc -pbkdf2 -iter 100000 \ | |
-d -in signing.tar.enc -out signing.tar \ | |
-pass pass:"$SIGNING_KEY_PASSWORD" | |
tar xvf signing.tar | |
- name: Configure Keystore | |
run: | | |
mkdir -p ~/.android | |
cp keystore.properties ~/.android/keystore.properties | |
- name: Install Fastlane | |
run: sudo gem install fastlane | |
- name: Set up Fastlane Environment Variables | |
env: | |
GOOGLE_APPLICATION_CREDENTIALS: ${{ github.workspace }}/api.json | |
run: | | |
echo "GOOGLE_PLAY_JSON_KEY=api.json" >> $GITHUB_ENV | |
- name: Build and Deploy with Fastlane | |
run: fastlane alpha |