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

name: yuzu-android-ea-play-release

on:
  workflow_dispatch:
    inputs:
      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: 'Merge and publish Android EA changes'
        env:
          ALT_GITHUB_TOKEN: ${{ secrets.ALT_GITHUB_TOKEN }}
          BUILD_EA: true
        with:
          script: |
            const execa = require("execa");
            const mergebot = require('./.github/workflows/android-merge.js').mergebot;
            process.chdir('${{ github.workspace }}');
            mergebot(github, context, execa);
      - name: Get tag name
        run: echo "GIT_TAG_NAME=$(cat tag-name.txt)" >> $GITHUB_ENV
      - 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: ./.ci/scripts/android/eabuild.sh
        env:
          EA_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 }}
          EA_SERVICE_ACCOUNT_KEY_B64: ${{ secrets.EA_SERVICE_ACCOUNT_KEY_B64 }}
          STORE_TRACK: ${{ github.event.inputs.release-track }}
          AUTO_VERSIONED: true
          BUILD_EA: true
      - name: Create release
        uses: softprops/action-gh-release@v1
        with:
          tag_name: ${{ env.EA_TAG_NAME }}
          name: ${{ env.EA_TAG_NAME }}
          draft: false
          prerelease: false
          repository: yuzu/yuzu-android
          token: ${{ secrets.ALT_GITHUB_TOKEN }}
