Skip to content

Sign Android builds when packaging. #18

Sign Android builds when packaging.

Sign Android builds when packaging. #18

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
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 }}-v${{ github.ref_name }}.zip" -P tools/package_release.cmake
- name: upload release
uses: softprops/action-gh-release@v2
with:
files: "${{ env.PACKAGE_NAME }}-v${{ github.ref_name }}.zip"
draft: true
fail_on_unmatched_files: true
package-windows:
runs-on: windows-latest
env:
PACKAGE_NAME: NovaSwarm-x64-windows
steps:
- uses: actions/checkout@v4
- name: package release
run: cmake -DPACKAGE_NAME="${{ env.PACKAGE_NAME }}-v${{ github.ref_name }}.zip" -P tools/package_release.cmake
- name: upload release
uses: softprops/action-gh-release@v2
with:
files: "${{ env.PACKAGE_NAME }}-v${{ github.ref_name }}.zip"
draft: true
fail_on_unmatched_files: true
package-android:
env:
PACKAGE_NAME: NovaSwarm-arm64-android
SIGN_ARGS: >
-Pandroid.injected.signing.store.file=./keystore.jks
-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
echo ${{ secrets.ANDROID_KEYSTORE_BASE64 }} | base64 -d > src/android/app/keystore.jks
ls src/android/app
- name: build APK
run: |
export JAVA_HOME=$(find /opt -name "jdk-17.*")
cd src/android
./gradlew assembleRelease $SIGN_ARGS
mv app/build/outputs/apk/release/app-release.apk ../../$PACKAGE_NAME-v${{ github.ref_name }}.apk
- name: upload release
uses: softprops/action-gh-release@v2
with:
files: "${{ env.PACKAGE_NAME }}-v${{ github.ref_name }}.apk"
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-v${{ 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 }}-v${{ github.ref_name }}.zip"
draft: true
fail_on_unmatched_files: true