Build & Publish Rust Keylock Release APK #16
Workflow file for this run
This file contains hidden or 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: Build & Publish Rust Keylock Release APK | |
| on: | |
| push: | |
| tags: | |
| - '*' | |
| env: | |
| CARGO_TERM_COLOR: always | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: checkout code | |
| uses: actions/checkout@v4 | |
| - name: setup JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: 17 | |
| distribution: 'adopt' | |
| - name: Build native | |
| run: bash ./buildall.sh | |
| - name: Build android | |
| run: bash ./gradlew build | |
| - name: Create keystore | |
| env: | |
| FS_KEYSTORE_FILE: ${{ secrets.RKL_KEYSTORE_FILE }} | |
| run: | | |
| echo "$FS_KEYSTORE_FILE" >> rkl.jks.base64 | |
| base64 --decode rkl.jks.base64 > ./rkl.jks | |
| - name: Add zipalign to PATH | |
| run: | | |
| # Locate the build-tools directory and add it to GITHUB_PATH | |
| BUILD_TOOLS_VERSION=$(ls $ANDROID_HOME/build-tools | tail -n 1) | |
| echo "$ANDROID_HOME/build-tools/$BUILD_TOOLS_VERSION" >> $GITHUB_PATH | |
| - name: Sign apk | |
| env: | |
| KEYSTORE_PASSWORD: ${{ secrets.RKL_KEYSTORE_PASSWORD }} | |
| KEY_ALIAS: ${{ secrets.RKL_KEY_ALIAS }} | |
| KEY_PASSWORD: ${{ secrets.RKL_KEY_PASSWORD }} | |
| TAG_NAME: ${{ github.ref_name }} | |
| run: | | |
| bash ./gradlew assembleRelease | |
| zipalign -p -f -v 4 ./App/build/outputs/apk/release/App-release-unsigned.apk ./App/build/outputs/apk/release/App-release-aligned.apk | |
| apksigner sign --ks ./rkl.jks --ks-key-alias $KEY_ALIAS --ks-pass pass:$KEYSTORE_PASSWORD --key-pass pass:$KEY_PASSWORD --out ./App/build/outputs/apk/release/rust-keylock-android-$TAG_NAME.apk ./App/build/outputs/apk/release/App-release-aligned.apk | |
| ls -la ./App/build/outputs/apk/release/ | |
| echo `ls -la ./App/build/outputs/apk/release/` | |
| - name: Publish APK to Release | |
| run: gh release create ${{ github.ref_name }} ./App/build/outputs/apk/release/rust-keylock-android-${{ github.ref_name }}.apk | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |