on:
  push:
    tags: '*'

jobs:
  release:
    runs-on: [docker, android-app-certs]
    container:
      volumes:
        - android-app-keystore:/keystore
    steps:
      - name: Repository Checkout
        uses: https://gitea.angry.im/actions/checkout@v3
        with:
          submodules: recursive
          fetch-depth: 0

      - name: Decode Secret Signing Configuration
        uses: https://gitea.angry.im/actions/base64-to-file@v1
        with:
          fileName: keystore.properties
          fileDir: ${{ env.GITHUB_WORKSPACE }}
          encodedString: ${{ secrets.OPENEUICC_SIGNING_CONFIG }}

      - name: Set up JDK 17
        uses: https://gitea.angry.im/actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'temurin'

      - name: Setup Android SDK
        uses: https://gitea.angry.im/actions/setup-android@v3

      - name: Build Release APK (Unprivileged / EasyEUICC only)
        run: ./gradlew --no-daemon :app-unpriv:assembleRelease

      - name: Copy Debug Symbols to Release Path
        run: cp app-unpriv/build/outputs/native-debug-symbols/release/native-debug-symbols.zip app-unpriv/build/outputs/apk/release/

      - name: Create Release
        uses: https://gitea.angry.im/actions/forgejo-release@v1
        with:
          direction: upload
          release-dir: app-unpriv/build/outputs/apk/release
          url: https://gitea.angry.im
          token: ${{ secrets.FORGEJO_TOKEN }}
          # Release details are expected to be edited manually
          release-notes: TBD
          prerelease: 'true'
