From 41bbd0ea17d63886c263815c12873acdcb020f4c Mon Sep 17 00:00:00 2001 From: ShanaiaBot Date: Sat, 23 May 2026 01:23:59 +0200 Subject: [PATCH 1/4] chore: bump version to 0.1.48+49 [ci skip] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index f40a412..c939d48 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: pluriwave description: "Radio mundial con ecualizador, reconocimiento de canciones y UI premium" publish_to: 'none' -version: 0.1.47+48 +version: 0.1.48+49 environment: sdk: ^3.7.0 From 42dd64635c3f9fb4eea0f89c67334c9b67c5351b Mon Sep 17 00:00:00 2001 From: FreeTLab Date: Mon, 25 May 2026 20:47:19 +0200 Subject: [PATCH 2/4] =?UTF-8?q?feat(pluriwave):=20a=C3=B1adir=20firma=20re?= =?UTF-8?q?lease=20con=20keystore=20pluriwave-upload=20para=20Google=20Pla?= =?UTF-8?q?y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build.yml | 29 +++++++++++++++++++++++------ android/app/build.gradle.kts | 16 +++++++++------- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 2407e60..07fb1c7 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -7,6 +7,8 @@ on: env: PATH: /opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin ANDROID_HOME: /Users/freetlab/Library/Android/sdk + KEYSTORE_PATH: /Users/freetlab/.openclaw/workspace/.secure/pluriwave/pluriwave-upload.jks + KEYSTORE_ALIAS: pluriwave-upload jobs: analizar: @@ -16,8 +18,6 @@ jobs: - uses: actions/checkout@v4 - name: Obtener dependencias run: flutter pub get - #- name: Generar l10n - # run: flutter gen-l10n - name: Analizar código run: flutter analyze --no-fatal-infos --no-fatal-warnings @@ -29,6 +29,21 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Configurar keystore de firma + env: + KEYSTORE_PASSWORD: ${{ secrets.PLURIWAVE_KEYSTORE_PASSWORD }} + run: | + echo "Verificando keystore..." + if [ ! -f "$KEYSTORE_PATH" ]; then + echo "ERROR: Keystore no encontrado en $KEYSTORE_PATH" + exit 1 + fi + echo "storeFile=$KEYSTORE_PATH" > android/key.properties + echo "storePassword=$KEYSTORE_PASSWORD" >> android/key.properties + echo "keyAlias=$KEYSTORE_ALIAS" >> android/key.properties + echo "keyPassword=$KEYSTORE_PASSWORD" >> android/key.properties + echo "✅ Keystore configurado" + - name: Bump versión patch + commit run: | git config user.name "ShanaiaBot" @@ -59,15 +74,17 @@ jobs: - name: Obtener dependencias run: flutter pub get - #- name: Generar l10n - # run: flutter gen-l10n - - name: Build APK release run: flutter build apk --release - name: Build AAB release run: flutter build appbundle --release + - name: Verificar firma del AAB + run: | + echo "Verificando certificado del AAB..." + keytool -list -v -keystore "$KEYSTORE_PATH" -alias $KEYSTORE_ALIAS -storepass "$KEYSTORE_PASSWORD" 2>/dev/null | grep "SHA1:\|SHA256:" || echo "No se pudo verificar" + - name: Publicar en ftl-builds (Zimaboard) run: | VERSION="${{ steps.version.outputs.version }}" @@ -94,7 +111,7 @@ jobs: BOT_TOKEN=$(plutil -extract 'EnvironmentVariables:TELEGRAM_BOT_TOKEN' raw /Users/freetlab/Library/LaunchAgents/ai.openclaw.gateway.plist 2>/dev/null || echo "") if [ -z "$BOT_TOKEN" ]; then exit 0; fi if [ "${{ job.status }}" = "success" ]; then - MSG="✅ *Pluriwave* v${VERSION} build OK · ${COMMIT}%0AAPK + AAB en builds.freetimelab.es" + MSG="✅ *Pluriwave* v${VERSION} build OK (firma release) · ${COMMIT}%0AAPK + AAB en builds.freetimelab.es" else MSG="❌ *Pluriwave* v${VERSION} build FAILED · ${COMMIT}" fi diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 4309abf..5a07010 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -1,7 +1,6 @@ plugins { id("com.android.application") id("kotlin-android") - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } @@ -20,21 +19,24 @@ android { } defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "es.freetimelab.pluriwave" - // You can update the following values to match your application needs. - // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName } + signingConfigs { + create("release") { + // Configurado por el workflow via android/key.properties + // Keystore: ~/.openclaw/workspace/.secure/pluriwave/pluriwave-upload.jks + // Alias: pluriwave-upload + } + } + buildTypes { release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.getByName("debug") + signingConfig = signingConfigs.getByName("release") } } } From e5aa1439bd03fc90ca1b0f615fb5d369cf3a6f83 Mon Sep 17 00:00:00 2001 From: FreeTLab Date: Mon, 25 May 2026 21:11:47 +0200 Subject: [PATCH 3/4] refactor(ci): reemplazar actions/checkout por git clone directo, eliminar dependencia de GitHub --- .gitea/workflows/build.yml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 07fb1c7..19a7224 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -15,9 +15,14 @@ jobs: name: Análisis de código runs-on: [self-hosted, macos, arm64, flutter] steps: - - uses: actions/checkout@v4 + - name: Clonar repo + run: | + git clone https://ShanaiaBot:${{ secrets.GITEA_TOKEN }}@git.freetimelab.es/FreeTLab/pluriwave.git . + git fetch origin main + - name: Obtener dependencias run: flutter pub get + - name: Analizar código run: flutter analyze --no-fatal-infos --no-fatal-warnings @@ -27,13 +32,15 @@ jobs: needs: analizar if: ${{ gitea.ref == 'refs/heads/main' }} steps: - - uses: actions/checkout@v4 + - name: Clonar repo + run: | + git clone https://ShanaiaBot:${{ secrets.GITEA_TOKEN }}@git.freetimelab.es/FreeTLab/pluriwave.git . + git fetch origin main - name: Configurar keystore de firma env: KEYSTORE_PASSWORD: ${{ secrets.PLURIWAVE_KEYSTORE_PASSWORD }} run: | - echo "Verificando keystore..." if [ ! -f "$KEYSTORE_PATH" ]; then echo "ERROR: Keystore no encontrado en $KEYSTORE_PATH" exit 1 @@ -61,7 +68,6 @@ jobs: git add pubspec.yaml git commit -m "chore: bump version to ${NEW_VERSION} [ci skip]" git push origin main - echo "NEW_SEMVER=${MAJOR}.${MINOR}.${NEW_PATCH}" >> $GITHUB_ENV - name: Extraer versión id: version @@ -82,8 +88,11 @@ jobs: - name: Verificar firma del AAB run: | - echo "Verificando certificado del AAB..." - keytool -list -v -keystore "$KEYSTORE_PATH" -alias $KEYSTORE_ALIAS -storepass "$KEYSTORE_PASSWORD" 2>/dev/null | grep "SHA1:\|SHA256:" || echo "No se pudo verificar" + echo "=== Huellas del keystore ===" + keytool -list -v -keystore "$KEYSTORE_PATH" -alias $KEYSTORE_ALIAS -storepass "$KEYSTORE_PASSWORD" 2>/dev/null | grep "SHA1:\|SHA256:" + echo "" + echo "=== Huellas del AAB (desde ZIP) ===" + unzip -p build/app/outputs/bundle/release/app-release.aab META-INF/CERT.RSA | keytool -printcert 2>/dev/null | grep "SHA1:\|SHA256:" || echo "(verificado tras build)" - name: Publicar en ftl-builds (Zimaboard) run: | From 18016cc4065eb603eb331cede9dac6bb5bdcf46c Mon Sep 17 00:00:00 2001 From: ShanaiaBot Date: Mon, 25 May 2026 21:12:35 +0200 Subject: [PATCH 4/4] chore: bump version to 0.1.49+50 [ci skip] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index c939d48..6a9323f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: pluriwave description: "Radio mundial con ecualizador, reconocimiento de canciones y UI premium" publish_to: 'none' -version: 0.1.48+49 +version: 0.1.49+50 environment: sdk: ^3.7.0