tools for exporting godot projects via Github Actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
name: Android export
description: Android export
inputs:
android-keystore-base64:
description: The base64 encoded keystore
required: false
android-password:
description: The password of the keystore
required: false
default: android
runs:
using: composite
steps:
- name: Setup
uses: bend-n/godot-actions/.github/actions/setup-godot@main
- name: Download android sdks
run: |
# Generate android keystore and settings
export ANDROID_HOME="/usr/lib/android-sdk"
export PATH="${ANDROID_HOME}/cmdline-tools/cmdline-tools/bin:${PATH}"
if [[ ! -d ${ANDROID_HOME}/cmdline-tools ]]; then
echo "::group::Download Android SDKs"
mkdir -p ${ANDROID_HOME}/cmdline-tools
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore /root/debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
wget -q https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip -O ~/tools.zip
unzip -q ~/tools.zip -d ${ANDROID_HOME}/cmdline-tools && rm ~/tools.zip && echo "Installed command line tools"
yes | sdkmanager --licenses >/dev/null && echo "Accepted licenses"
sdkmanager "platform-tools" "build-tools;30.0.3" "platforms;android-29" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;21.4.7075529" >/dev/null && echo "Installed Android SDKs"
echo "::endgroup::"
fi
shell: bash
- name: Prep build
if: inputs.android-keystore-base64
run: |
echo "::group::Prep build"
cd "$PROJECT_PATH"
password="${{ inputs.android-password }}"
echo "${{ inputs.android-keystore-base64 }}" | base64 --decode > ~/release.keystore && echo "Decoded keystore"
alias="$(keytool -storepass "$password" -list -v -keystore ~/release.keystore | grep -E '^Alias name:\s*(.+)$' | cut -d ' ' -f 3-)" && echo "Got alias name"
sed "s@keystore/release=\"\"@keystore/release=\"$HOME/release.keystore\"@g" -i export_presets.cfg && sed 's@keystore/release_user=".*"@keystore/release_user="'$alias'"@g' -i export_presets.cfg && sed 's@keystore/release_password=".*"@keystore/release_password="'$password'"@g' -i export_presets.cfg && echo "Configured export_presets.cfg"
echo "::endgroup::"
shell: bash
- name: Build
uses: bend-n/godot-actions/.github/actions/export@main
with:
debug: ${{ inputs.android-keystore-base64 }}
extension: apk
platform: android
|