# Build the Android APK on push to the master branch
name: Build APK
on:
  push:
    branches:
      - main
      - testing

env:
  GODOT_VERSION: 4.1.3
  EXPORT_NAME: immersive-home

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

      - 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: |
          mkdir -p ~/.android
          keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 -deststoretype pkcs12
          mv -v debug.keystore ~/.android/debug.keystore

          mkdir -p ~/.config/godot
          cp -v ./android/editor_settings-4.tres ~/.config/godot/

          mkdir -p ./android/build
          touch ./android/build/.gdignore

      - 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
          export_debug: true
          relative_project_path: ./
          archive_output: true

      - name: Upload APK
        uses: actions/upload-artifact@v2
        with:
          name: immersive-home-debug
          path: ${{ steps.export.outputs.archive_directory }}
