Skip to content

Commit 95df896

Browse files
authored
Sign Android builds when packaging. (#58)
- Use tag name as build version string.
1 parent 89695c0 commit 95df896

File tree

4 files changed

+18
-91
lines changed

4 files changed

+18
-91
lines changed

.github/workflows/package.yml

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,36 +7,40 @@ jobs:
77
package-linux:
88
runs-on: ubuntu-24.04
99
env:
10-
PACKAGE_NAME: NovaSwarm-x64-linux-v0.1.0.zip
10+
PACKAGE_NAME: NovaSwarm-x64-linux-${{ github.ref_name }}.zip
1111
steps:
1212
- uses: actions/checkout@v4
1313
- name: init
1414
run: sudo apt update -yqq && sudo apt install -yqq ninja-build xorg-dev libpulse-dev libkpipewire-dev
1515
- name: package release
16-
run: cmake -DPACKAGE_NAME=${{ env.PACKAGE_NAME }} -P tools/package_release.cmake
16+
run: cmake -DPACKAGE_NAME="${{ env.PACKAGE_NAME }}" -P tools/package_release.cmake
1717
- name: upload release
1818
uses: softprops/action-gh-release@v2
1919
with:
20-
files: ${{ env.PACKAGE_NAME }}
20+
files: "${{ env.PACKAGE_NAME }}"
2121
draft: true
2222
fail_on_unmatched_files: true
2323
package-windows:
2424
runs-on: windows-latest
2525
env:
26-
PACKAGE_NAME: NovaSwarm-x64-windows-v0.1.0.zip
26+
PACKAGE_NAME: NovaSwarm-x64-windows-${{ github.ref_name }}.zip
2727
steps:
2828
- uses: actions/checkout@v4
2929
- name: package release
3030
run: cmake -DPACKAGE_NAME="${{ env.PACKAGE_NAME }}" -P tools/package_release.cmake
3131
- name: upload release
3232
uses: softprops/action-gh-release@v2
3333
with:
34-
files: ${{ env.PACKAGE_NAME }}
34+
files: "${{ env.PACKAGE_NAME }}"
3535
draft: true
3636
fail_on_unmatched_files: true
3737
package-android:
3838
env:
39-
PACKAGE_NAME: NovaSwarm-arm64-android-v0.1.0.apk
39+
PACKAGE_NAME: NovaSwarm-arm64-android-${{ github.ref_name }}.apk
40+
SIGN_ARGS: >
41+
-Pandroid.injected.signing.key.alias=${{ secrets.ANDROID_KEYSTORE_ALIAS }}
42+
-Pandroid.injected.signing.store.password=${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
43+
-Pandroid.injected.signing.key.password=${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
4044
runs-on: ubuntu-24.04
4145
steps:
4246
- uses: actions/checkout@v4
@@ -46,22 +50,24 @@ jobs:
4650
tar xvzf jdk-17_linux-x64_bin.tar.gz -C /opt
4751
- name: build APK
4852
run: |
53+
echo ${{ secrets.ANDROID_KEYSTORE_BASE64 }} | base64 -d > keystore.jks
54+
export KEYSTORE_PATH=$(pwd)/keystore.jks
4955
export JAVA_HOME=$(find /opt -name "jdk-17.*")
5056
cd src/android
51-
./gradlew assembleRelease
52-
mv app/build/outputs/apk/release/app-release-unsigned.apk ../../$PACKAGE_NAME
57+
./gradlew assembleRelease -Pandroid.injected.signing.store.file=$KEYSTORE_PATH $SIGN_ARGS
58+
mv app/build/outputs/apk/release/app-release.apk ../../$PACKAGE_NAME
5359
- name: upload release
5460
uses: softprops/action-gh-release@v2
5561
with:
56-
files: ${{ env.PACKAGE_NAME }}
62+
files: "${{ env.PACKAGE_NAME }}"
5763
draft: true
5864
fail_on_unmatched_files: true
5965
package-macos:
6066
runs-on: macos-latest
6167
env:
6268
CPU_ARCH: arm64
6369
OS_NAME: macos
64-
PACKAGE_NAME: NovaSwarm-arm64-macos-v0.1.0.zip
70+
PACKAGE_NAME: NovaSwarm-arm64-macos-${{ github.ref_name }}.zip
6571
steps:
6672
- uses: actions/checkout@v4
6773
- name: init
@@ -71,7 +77,7 @@ jobs:
7177
- name: upload release
7278
uses: softprops/action-gh-release@v2
7379
with:
74-
files: ${{ env.PACKAGE_NAME }}
80+
files: "${{ env.PACKAGE_NAME }}"
7581
draft: true
7682
fail_on_unmatched_files: true
7783

CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ message(STATUS "spaced build version: ${build_version}")
66

77
project(spaced VERSION ${build_version})
88

9-
configure_file(src/package.yml.in "${CMAKE_CURRENT_SOURCE_DIR}/.github/workflows/package.yml" @ONLY)
10-
119
set(CMAKE_CXX_STANDARD 20)
1210
set(CMAKE_CXX_STANDARD_REQUIRED ON)
1311
set(CMAKE_CXX_EXTENSIONS OFF)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
1. Android:
2626
1. arm64 (64 bit ARM) or x64 (64 bit Intel/AMD).
2727

28-
*Note: Adreno GPUs on Android seem to have driver bugs that cause rendering artifacts and can sometimes crash the app.*
28+
*Note: Some GPUs on Android seem to have driver bugs that cause rendering artifacts and can sometimes crash the app.*
2929

3030
### Steps
3131

src/package.yml.in

Lines changed: 0 additions & 77 deletions
This file was deleted.

0 commit comments

Comments
 (0)