Skip to content

Android CI

Android CI #139

Workflow file for this run

name: Android CI
on:
push:
branches: [ main ]
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y apksigner
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'temurin'
cache: 'gradle'
- name: Write key
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
run: |
if [ ! -z "${{ secrets.SIGNING_KEY }}" ]; then
echo releaseStorePassword='${{ secrets.KEY_STORE_PASSWORD }}' >> gradle.properties
echo releaseKeyAlias='${{ secrets.ALIAS }}' >> gradle.properties
echo releaseKeyPassword='${{ secrets.KEY_PASSWORD }}' >> gradle.properties
echo releaseStoreFile='key.jks' >> gradle.properties
echo ${{ secrets.SIGNING_KEY }} | base64 --decode > key.jks
fi
- name: Build with Gradle
run: ./gradlew assembleRelease assembleDebug
- name: Zip Enhancer module
run: |
cd enhancer
for f in $(find . -type f); do
if [[ "$f" == *.gitignore || "$f" == *.sha256 || "$f" == *.md || "$f" == *.json ]]; then
continue
fi
echo -n $(sha256sum $f | cut -f1 -d' ') > $f.sha256
done
zip -r ../app/build/outputs/apk/KnoxPatch-Enhancer.zip * -x *.json -x *.md
cd ..
[ -f key.jks ] && apksigner sign -v --ks key.jks --ks-pass pass:${{ secrets.KEY_PASSWORD }} --min-sdk-version 18 app/build/outputs/apk/KnoxPatch-Enhancer.zip || true
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: Signed app bundle
path: app/build/outputs/apk