Skip to content

build android

build android #13

Workflow file for this run

name: build android
on:
workflow_dispatch:
inputs:
version:
description: "version to release"
required: true
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: checkout
uses: actions/checkout@v4
- name: setup java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 17
- name: cache
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: setup pnpm
uses: pnpm/action-setup@v3
- name: install packages
run: pnpm install
- name: set env
env:
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }}
run: |
sed -i 's/process.env.EXPO_PUBLIC_SUPABASE_URL as string;/"$SUPABASE_URL"/g' lib/supabase.ts;
sed -i 's/process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY as string;/"$SUPABASE_ANON_KEY"/g' lib/supabase.ts;
- name: prebuild
run: pnpx expo prebuild --platform android
- name: build
env:
BUILD_KEY: ${{ secrets.BUILD_KEY }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
run: |
echo $BUILD_KEY | base64 -d > shivshakti.jks;
cd android && ./gradlew assembleRelease \
-Pandroid.injected.signing.store.file=../shivshakti.jks \
-Pandroid.injected.signing.store.password=$KEY_PASSWORD \
-Pandroid.injected.signing.key.alias=$KEY_ALIAS \
-Pandroid.injected.signing.key.password=$KEY_PASSWORD
- name: release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
name: "ShivShakti Transit ${{ github.event.inputs.version }}"
body: "Check the assets for the APK."
artifacts: "android/app/build/outputs/apk/release/*.apk"
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.event.inputs.version }}