3 Commits

Author SHA1 Message Date
agent-arq
2fe1d60e23 docs: update README — sección CI/CD, secrets, signing (PR#2)
Some checks failed
Flutter CI/CD — PluriWave / Test + Build (push) Has been cancelled
2026-04-04 16:47:10 +02:00
agent-arq
76f1b4ce2d docs: create CHANGELOG — v0.2.0 CI/CD Gitea Actions + revisión arquitectura F1 (PR#2)
Some checks failed
Flutter CI/CD — PluriWave / Test + Build (push) Has been cancelled
2026-04-04 16:46:45 +02:00
agent-arq
64f6e37373 feat(ci): Gitea Actions CI/CD Flutter + revisión arquitectura F1 (#2)
Some checks failed
Flutter CI/CD — PluriWave / Test + Build (push) Has been cancelled
2026-04-04 16:44:04 +02:00
2 changed files with 47 additions and 10 deletions

18
CHANGELOG.md Normal file
View File

@@ -0,0 +1,18 @@
# Changelog — PluriWave
## [0.2.0] — 2026-04-04
### Añadido
- **CI/CD Gitea Actions** — workflow `.gitea/workflows/ci.yml` para el runner `macmini-flutter`. Jobs en secuencia: `flutter pub get``flutter test``flutter build apk --release``flutter build appbundle --release`. APK y AAB subidos como artifacts con el SHA del commit en el nombre (`pluriwave-apk-<sha>`, `pluriwave-aab-<sha>`). Notificación Telegram al finalizar: ✅ éxito con commit y rama, ❌ fallo con enlace al log. Activado en push a `main` y PRs contra `main`.
- **`ARQ-REVISION-F1.md`** — revisión de arquitectura del stack Flutter. Veredicto: aprobado. Sin conflictos de dependencias (`audio_session` compartido entre `just_audio` y `audio_service` sin colisión; `rxdart` sin conflicto). Todas las licencias OSI-approved (MIT, Apache-2.0, BSD). Ajustes pendientes: actualizar `just_audio` a ^0.10.0 con Flutter ≥3.27.0, signing real para Play Store, `google_mobile_ads` comentado hasta tener Ad Unit IDs.
### Notas técnicas
- **Signing**: `build.gradle.kts` usa clave debug para release (TODO preexistente). Válido para CI interno y testing. Play Store requiere keystore como secret en Gitea.
- **Secrets necesarios**: `TELEGRAM_BOT_TOKEN` y `TELEGRAM_CHAT_ID` (Settings → Secrets del repo en Gitea).
### Ficheros añadidos
| Fichero | Descripción |
|---|---|
| `.gitea/workflows/ci.yml` | Workflow CI/CD Flutter completo (+66 líneas) |
| `ARQ-REVISION-F1.md` | Revisión arquitectura F1 — stack, licencias, ajustes (+143 líneas) |

View File

@@ -1,17 +1,17 @@
# 📻 PluriWave # PluriWave
Radio mundial con ecualizador personalizable, reconocimiento de canciones y UI premium. Radio mundial con ecualizador personalizable, reconocimiento de canciones y UI premium.
## Features ## Features
- 🌍 **+53.000 emisoras** de 238 países (Radio Browser API) - **+53.000 emisoras** de 238 países (Radio Browser API)
- 🎛️ **Ecualizador por emisora** — guarda tu preset favorito para cada radio - **Ecualizador por emisora** — guarda tu preset favorito para cada radio
- 🎵 **Reconocimiento de canciones** — "¿Qué suena?" sin salir de la app - **Reconocimiento de canciones** — "¿Qué suena?" sin salir de la app
- **Timer de auto-apagado** — perfecto para dormir - **Timer de auto-apagado** — perfecto para dormir
- 🔊 **Reproducción en segundo plano** — sigue sonando con la pantalla apagada - **Reproducción en segundo plano** — sigue sonando con la pantalla apagada
- **Favoritos** — accede rápido a tus emisoras preferidas - **Favoritos** — acceso rápido a emisoras preferidas
- 📤 **Compartir** — envía emisoras a tus amigos - **Compartir** — envía emisoras a tus amigos
- 🎨 **UI premium** — Material You, visualizador de audio, animaciones fluidas - **UI premium** — Material You, visualizador de audio, animaciones fluidas
## Monetización ## Monetización
@@ -22,13 +22,31 @@ Radio mundial con ecualizador personalizable, reconocimiento de canciones y UI p
## Stack ## Stack
- **Frontend**: Flutter (Android + iOS) - **Frontend**: Flutter (Android + iOS)
- **Radio API**: [Radio Browser](https://api.radio-browser.info/) (gratis, +53K emisoras) - **Radio API**: Radio Browser (gratis, +53K emisoras)
- **Audio**: just_audio + audio_service - **Audio**: just_audio + audio_service
- **Ecualizador**: just_audio equalizer (Android nativo) - **Ecualizador**: just_audio equalizer (Android nativo)
- **Reconocimiento**: AudD API (1000 req/mes free) - **Reconocimiento**: AudD API (1000 req/mes free)
- **Ads**: Google AdMob - **Ads**: Google AdMob
- **Compras**: in_app_purchase - **Compras**: in_app_purchase
## CI/CD
Workflow Gitea Actions en `.gitea/workflows/ci.yml`, runner `macmini-flutter`.
**Jobs:** `flutter pub get``flutter test``build apk --release``build appbundle --release`
**Artifacts:** APK y AAB guardados en Gitea con nombre `pluriwave-apk-<sha>` / `pluriwave-aab-<sha>`.
**Notificaciones:** Telegram al completar (éxito ✅ / fallo ❌).
**Secrets necesarios en el repo:**
| Secret | Uso |
|---|---|
| `TELEGRAM_BOT_TOKEN` | Notificaciones CI |
| `TELEGRAM_CHAT_ID` | Canal de destino |
> **Signing**: build de release usa clave debug (válido para CI interno). Para Play Store se requiere keystore como secret adicional.
## Desarrollador ## Desarrollador
FreeTimeLab — [freetimelab.es](https://freetimelab.es) FreeTimeLab — [freetimelab.es](https://freetimelab.es)
@@ -36,3 +54,4 @@ FreeTimeLab — [freetimelab.es](https://freetimelab.es)
## Licencia ## Licencia
MIT MIT