Skip to content

Sign Android builds when packaging. #20

Sign Android builds when packaging.

Sign Android builds when packaging. #20

Workflow file for this run

name: package
on:
push:
tags:
- 'v*'
jobs:
package-linux:
runs-on: ubuntu-24.04
env:
PACKAGE_NAME: NovaSwarm-x64-linux-${{ github.ref_name }}.zip
steps:
- uses: actions/checkout@v4
- name: init
run: sudo apt update -yqq && sudo apt install -yqq ninja-build xorg-dev libpulse-dev libkpipewire-dev
- name: package release
run: cmake -DPACKAGE_NAME="${{ env.PACKAGE_NAME }}" -P tools/package_release.cmake
- name: upload release
uses: softprops/action-gh-release@v2
with:
files: "${{ env.PACKAGE_NAME }}"
draft: true
fail_on_unmatched_files: true
package-windows:
runs-on: windows-latest
env:
PACKAGE_NAME: NovaSwarm-x64-windows-${{ github.ref_name }}.zip
steps:
- uses: actions/checkout@v4
- name: package release
run: cmake -DPACKAGE_NAME="${{ env.PACKAGE_NAME }}" -P tools/package_release.cmake
- name: upload release
uses: softprops/action-gh-release@v2
with:
files: "${{ env.PACKAGE_NAME }}"
draft: true
fail_on_unmatched_files: true
package-android:
env:
PACKAGE_NAME: NovaSwarm-arm64-android-${{ github.ref_name }}.apk
SIGN_ARGS: >
-Pandroid.injected.signing.key.alias=${{ secrets.ANDROID_KEYSTORE_ALIAS }}
-Pandroid.injected.signing.store.password="${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
-Pandroid.injected.signing.key.password="${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: init
run: |
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
tar xvzf jdk-17_linux-x64_bin.tar.gz -C /opt
- name: build APK
run: |
echo ${{ secrets.ANDROID_KEYSTORE_BASE64 }} | base64 -d > keystore.jks
export KEYSTORE_PATH=$(pwd)/keystore.jks
export JAVA_HOME=$(find /opt -name "jdk-17.*")
cd src/android
./gradlew assembleRelease -Pandroid.injected.signing.store.file=$KEYSTORE_PATH $SIGN_ARGS
mv app/build/outputs/apk/release/app-release.apk ../../$PACKAGE_NAME
- name: upload release
uses: softprops/action-gh-release@v2
with:
files: "${{ env.PACKAGE_NAME }}"
draft: true
fail_on_unmatched_files: true
package-macos:
runs-on: macos-latest
env:
CPU_ARCH: arm64
OS_NAME: macos
PACKAGE_NAME: NovaSwarm-arm64-macos-${{ github.ref_name }}.zip
steps:
- uses: actions/checkout@v4
- name: init
run: brew install ninja
- name: package release
run: cmake -DPACKAGE_NAME=${{ env.PACKAGE_NAME }} -P tools/package_release.cmake
- name: upload release
uses: softprops/action-gh-release@v2
with:
files: "${{ env.PACKAGE_NAME }}"
draft: true
fail_on_unmatched_files: true