71 lines
2.8 KiB
YAML
71 lines
2.8 KiB
YAML
name: Build AAB — WhatSMS Gateway
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- feat/whatsms-branding-ptpt
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: mingc/android-build-box:latest
|
|
options: --network host
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Configurar JDK 17
|
|
run: |
|
|
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
|
|
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV
|
|
echo "/usr/lib/jvm/java-17-openjdk-amd64/bin" >> $GITHUB_PATH
|
|
java -version
|
|
|
|
- name: Injectar google-services.json
|
|
run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > app/google-services.json
|
|
|
|
- name: Decode keystore
|
|
run: echo '${{ secrets.KEYSTORE_BASE64 }}' | base64 -d > app/keystore.jks
|
|
|
|
- name: Build AAB release
|
|
env:
|
|
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
|
|
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
|
|
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
|
|
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64
|
|
run: |
|
|
chmod +x gradlew
|
|
./gradlew bundleRelease --no-daemon --stacktrace
|
|
|
|
- name: Publicar AAB como release Gitea
|
|
env:
|
|
GITEA_TOKEN: ${{ github.token }}
|
|
run: |
|
|
AAB=$(find app/build/outputs/bundle/release -name "*.aab" | head -1)
|
|
echo "AAB encontrado: $AAB"
|
|
# Criar release (ignora erro se tag ja existir)
|
|
RESP=$(curl -s -X POST \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
https://git.descomplicar.pt/api/v1/repos/ealmeida/whatsms-gateway-android/releases \
|
|
-d '{"tag_name":"v3.2.0-ci","name":"WhatSMS Gateway v3.2.0 CI","body":"Build automatico Gitea Actions","draft":false,"prerelease":true}')
|
|
RELEASE_ID=$(echo "$RESP" | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
|
|
# Se release ja existe, obter ID por tag
|
|
if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" = "null" ]; then
|
|
RELEASE_ID=$(curl -s \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
https://git.descomplicar.pt/api/v1/repos/ealmeida/whatsms-gateway-android/releases/tags/v3.2.0-ci \
|
|
| grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
|
|
fi
|
|
echo "Release ID: $RELEASE_ID"
|
|
# Upload AAB como asset da release
|
|
curl -s -X POST \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
-H "Content-Type: application/octet-stream" \
|
|
--data-binary "@$AAB" \
|
|
"https://git.descomplicar.pt/api/v1/repos/ealmeida/whatsms-gateway-android/releases/${RELEASE_ID}/assets?name=whatsms-gateway-v3.2.0.aab"
|
|
echo "Upload concluido!"
|