Skip to content

update workflow

update workflow #48

Workflow file for this run

name: Android CI
on:
push:
branches: [ 'main', 'rel/**' ]
pull_request:
branches: [ 'main' ]
jobs:
prepare:
runs-on: ubuntu-latest
steps:
- name: Checkout Branch ${{ github.ref }}
uses: actions/checkout@v4
- name: Get Latest iPerf
run: |
wget -O jniLibs.zip https://github.com/omnt/iperf/releases/latest/download/jniLibs
unzip jniLibs.zip -d app/src/main
rm jniLibs.zip
- name: Decode Keystore
env:
ENCODED_STRING: ${{ secrets.KEYSTORE }}
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.STOREPASSWORD }}
RELEASE_KEYSTORE_ALIAS: ${{ secrets.KEYALIAS }}
RELEASE_KEY_PASSWORD: ${{ secrets.KEYPASSWORD }}
run: |
sudo apt install coreutils
base64 --version
echo $ENCODED_STRING | base64 -d > OpenMobileNetworkToolkit-key.jks
mv OpenMobileNetworkToolkit-key.jks app
mkdir android
touch android/key.properties
echo "storePassword=$RELEASE_KEYSTORE_PASSWORD" > android/key.properties
echo "keyPassword=$RELEASE_KEY_PASSWORD" >> android/key.properties
echo "keyAlias=$RELEASE_KEYSTORE_ALIAS" >> android/key.properties
echo "storeFile=OpenMobileNetworkToolkit-key.jks" >> android/key.properties
ls -la app
ls -la android
build:
runs-on: ubuntu-latest
needs: prepare
steps:
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
cache: gradle
- name: Build APK
env:
ENCODED_STRING: ${{ secrets.KEYSTORE }}
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PW }}
RELEASE_KEYSTORE_ALIAS: ${{ secrets.KEYSTORE_ALIAS }}
RELEASE_KEY_PASSWORD: ${{ secrets.KEY_PW }}
run: ./gradlew assembleRelease --stacktrace
- name: Build Bundle
env:
ENCODED_STRING: ${{ secrets.KEYSTORE }}
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PW }}
RELEASE_KEYSTORE_ALIAS: ${{ secrets.KEYSTORE_ALIAS }}
RELEASE_KEY_PASSWORD: ${{ secrets.KEY_PW }}
run: ./gradlew bundleRelease --stacktrace
upload:
runs-on: ubuntu-latest
needs: build
steps:
- name: Get release file aab path
id: releaseAab
run: echo "aabfile=$(find app/build/outputs/bundle/release/*.aab)" >> $GITHUB_OUTPUT
- name: Get release file apk path
id: releaseApk
run: echo "apkfile=$(find app/build/outputs/apk/release/*.apk)" >> $GITHUB_OUTPUT
- name: Upload Release Build to Artifacts
uses: actions/upload-artifact@v4
with:
name: release-artifacts
path: ${{ steps.releaseApk.outputs.apkfile }}