84 lines
2.9 KiB
YAML
84 lines
2.9 KiB
YAML
# Build the Android APK on push to the master branch
|
|
name: Build Release APK
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
- "!v*-test"
|
|
|
|
env:
|
|
GODOT_VERSION: 4.1.3
|
|
EXPORT_NAME: immersive-home
|
|
GODOT_ANDROID_KEYSTORE_RELEASE_PATH: /home/runner/work/Immersive-Home/Immersive-Home/release.keystore
|
|
GODOT_ANDROID_KEYSTORE_RELEASE_USER: ${{ secrets.RELEASE_USER }}
|
|
GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD: ${{ secrets.RELEASE_PASSWORD }}
|
|
|
|
jobs:
|
|
# job id, can be anything
|
|
export_game:
|
|
# Always use ubuntu-latest for this action
|
|
runs-on: ubuntu-latest
|
|
# Add permission for release creation. Can be made narrower according to your needs
|
|
permissions: write-all
|
|
# Job name, can be anything
|
|
name: Export Game
|
|
steps:
|
|
# Always include the checkout step so that
|
|
# your project is available for Godot to export
|
|
- name: checkout
|
|
uses: actions/checkout@v3.3.0
|
|
with:
|
|
lfs: true
|
|
|
|
- name: Set up JDK 17
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
java-version: "17"
|
|
distribution: "temurin"
|
|
|
|
- name: Setup Android SDK
|
|
uses: android-actions/setup-android@v3
|
|
|
|
- name: Setup Android Export
|
|
run: |
|
|
sdkmanager "build-tools;32.0.0"
|
|
|
|
echo "${{ secrets.KEYSTORE_RELEASE }}" | base64 -di > release.keystore
|
|
|
|
rm export_presets.cfg
|
|
mv export_presets_prod.cfg export_presets.cfg
|
|
|
|
mkdir -p ~/.config/godot
|
|
cp -v ./editor_settings-4.tres ~/.config/godot/
|
|
|
|
mkdir -p ./android/build
|
|
touch ./android/build/.gdignore
|
|
|
|
wget -nv https://downloads.tuxfamily.org/godotengine/4.1.3/Godot_v4.1.3-stable_export_templates.tpz -O ./godot_templates.tpz
|
|
unzip -q ./godot_templates.tpz -d .
|
|
rm ./godot_templates.tpz
|
|
unzip -q ./templates/android_source.zip -d ./android/build/
|
|
rm ./templates/android_source.zip
|
|
|
|
sed -i 's/singleInstancePerTask/singleTask/g' ./android/build/AndroidManifest.xml
|
|
|
|
sed -i 's/BUILD_VERSION/${{ github.ref_name }}/g' ./android/build/AndroidManifest.xml
|
|
|
|
- name: export game
|
|
id: export
|
|
# Use latest version (see releases for all versions)
|
|
uses: firebelley/godot-export@v5.2.1
|
|
with:
|
|
# Defining all the required inputs
|
|
godot_executable_download_url: https://downloads.tuxfamily.org/godotengine/4.1.3/Godot_v4.1.3-stable_linux.x86_64.zip
|
|
godot_export_templates_download_url: https://downloads.tuxfamily.org/godotengine/4.1.3/Godot_v4.1.3-stable_export_templates.tpz
|
|
relative_project_path: ./
|
|
archive_output: true
|
|
|
|
- name: create release
|
|
uses: ncipollo/release-action@v1.11.2
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
generateReleaseNotes: true
|
|
artifacts: ${{ steps.export.outputs.archive_directory }}/* # Added "/*" at the end is glob pattern match for this action
|