# Construye la APK y la deja publicada como borrador en las releases. # # NO se dispara sola con cada commit: la APK son mas de 100 MB y el backend tarda # en empaquetarse. Se lanza a mano desde la interfaz de gitea, o al crear un tag. # # El runner necesita: JDK 17 con compilador, el SDK de Android (plataforma 35 y # build-tools), node, zip y unzip. Un runner pelado NO vale. # # Secretos que hay que dar de alta en el repositorio: # OASIS_KEYSTORE_B64 el almacen de claves en base64 # OASIS_KEYSTORE_PASS su contraseƱa # OASIS_KEY_ALIAS el alias (por defecto "oasis") # # El token para publicar lo pone gitea solo en GITEA_TOKEN. name: APK on: workflow_dispatch: push: tags: - 'v*' jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # release.sh cuenta commits para el versionCode - name: Restaurar el almacen de claves run: | echo "${{ secrets.OASIS_KEYSTORE_B64 }}" | base64 -d > /tmp/oasis.jks chmod 600 /tmp/oasis.jks - name: Construir, verificar y publicar env: JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 ANDROID_HOME: /opt/android-sdk OASIS_KEYSTORE: /tmp/oasis.jks OASIS_KEYSTORE_PASS: ${{ secrets.OASIS_KEYSTORE_PASS }} OASIS_KEY_ALIAS: ${{ secrets.OASIS_KEY_ALIAS }} OASIS_GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} OASIS_GITEA_URL: ${{ github.server_url }} OASIS_GITEA_REPO: ${{ github.repository }} run: | cd android ./scripts/release.sh --release --publish - name: Borrar el almacen de claves if: always() run: rm -f /tmp/oasis.jks