# SPDX-FileCopyrightText: 2024 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later

name: yuzu-android-mainline-play-release

on:
  workflow_dispatch:
    inputs:
      release-tag:
        description: 'Tag # from yuzu-android that you want to build and publish'
        required: true
        default: '200'
      release-track:
        description: 'Play store release track (internal/alpha/beta/production)'
        required: true
        default: 'alpha'

jobs:
  android:
    runs-on: ubuntu-latest
    if: ${{ github.repository == 'yuzu-emu/yuzu' }}
    steps:
      - uses: actions/checkout@v3
        name: Checkout
        with:
          fetch-depth: 0
          submodules: true
          token: ${{ secrets.ALT_GITHUB_TOKEN }}
      - run: npm install execa@5
      - uses: actions/github-script@v5
        name: 'Pull mainline tag'
        env:
          MAINLINE_TAG: ${{ github.event.inputs.release-tag }}
        with:
          script: |
            const execa = require("execa");
            const mergebot = require('./.github/workflows/android-merge.js').getMainlineTag;
            process.chdir('${{ github.workspace }}');
            mergebot(execa);
      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'temurin'
      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y ccache apksigner glslang-dev glslang-tools
      - name: Build
        run: |
          echo "GIT_TAG_NAME=android-${{ github.event.inputs.releast-tag }}" >> $GITHUB_ENV
          ./.ci/scripts/android/mainlinebuild.sh
        env:
          MAINLINE_PLAY_ANDROID_KEYSTORE_B64: ${{ secrets.PLAY_ANDROID_KEYSTORE_B64 }}
          PLAY_ANDROID_KEY_ALIAS: ${{ secrets.PLAY_ANDROID_KEY_ALIAS }}
          PLAY_ANDROID_KEYSTORE_PASS: ${{ secrets.PLAY_ANDROID_KEYSTORE_PASS }}
          SERVICE_ACCOUNT_KEY_B64: ${{ secrets.MAINLINE_SERVICE_ACCOUNT_KEY_B64 }}
          STORE_TRACK: ${{ github.event.inputs.release-track }}
          AUTO_VERSIONED: true
