Este proyecto usa GitHub Actions para compilar automáticamente el APK de la app.
Se ejecuta automáticamente en cada push a main o master.
Qué hace:
- ✅ Compila el APK de release
- ✅ Ejecuta tests (si existen)
- ✅ Sube el APK como artifact (descargable desde GitHub)
Cuándo se ejecuta:
- Cada vez que haces
git pusha la rama principal - En cada Pull Request
Se ejecuta cuando creas un tag de versión.
Qué hace:
- ✅ Compila el APK de release
- ✅ Renombra el APK con la versión (ejemplo:
canales-v1.0.0.apk) - ✅ Crea un Release en GitHub automáticamente
- ✅ Adjunta el APK al Release
- ✅ Genera notas de versión
Cuándo se ejecuta:
- Cuando creas un tag como
v1.0.0,v1.0.1, etc. - Manualmente desde la pestaña "Actions" en GitHub
-
Actualiza la versión en
pubspec.yaml:version: 1.0.1+2
-
Haz commit y push:
git add . git commit -m "Versión 1.0.1 - Nuevas funcionalidades" git push
-
Crea un tag y súbelo:
git tag v1.0.1 git push origin v1.0.1
-
¡Listo! GitHub Actions automáticamente:
- Compila el APK
- Crea el Release
- Adjunta el APK
- Tus usuarios recibirán la actualización automáticamente
- Ve a tu repositorio en GitHub
- Click en "Actions"
- Selecciona "Build and Release APK"
- Click en "Run workflow"
- Selecciona la rama y click "Run workflow"
- Ve a:
https://github.com/AnubisReal/canales/releases - Click en la versión más reciente
- Descarga el archivo
canales-v1.0.0.apk
- Ve a:
https://github.com/AnubisReal/canales/actions - Click en el workflow más reciente
- Scroll hasta "Artifacts"
- Descarga
app-release
Edita .github/workflows/build-release.yml línea 28:
flutter-version: '3.24.0' # Cambia a la versión que usesEdita .github/workflows/build-release.yml líneas 52-60:
body: |
## 🎉 Nueva versión de Canales
### Novedades
- Tu lista de cambios aquíPara firmar el APK automáticamente:
-
Crea un keystore:
keytool -genkey -v -keystore canales.jks -keyalg RSA -keysize 2048 -validity 10000 -alias canales
-
Convierte el keystore a base64:
base64 canales.jks > keystore.txt -
Agrega secrets en GitHub:
- Ve a Settings → Secrets → Actions
- Agrega:
KEYSTORE_BASE64: contenido dekeystore.txtKEYSTORE_PASSWORD: tu contraseñaKEY_ALIAS:canalesKEY_PASSWORD: tu contraseña de la key
-
Actualiza el workflow para usar el keystore
Agrega este badge a tu README.md:
- Asegúrate de que el repositorio tenga permisos de escritura
- Ve a Settings → Actions → General → Workflow permissions
- Selecciona "Read and write permissions"
- Verifica que la versión de Flutter en el workflow existe
- Usa una versión estable como
3.24.0
- Verifica que el tag empiece con
v(ejemplo:v1.0.0) - Revisa los logs en la pestaña "Actions"
✅ Automático: No necesitas compilar manualmente ✅ Consistente: Siempre se compila en el mismo ambiente ✅ Rápido: GitHub compila en paralelo ✅ Gratis: GitHub Actions es gratis para repositorios públicos ✅ Historial: Puedes ver todas las compilaciones anteriores ✅ Actualización automática: Tus usuarios reciben updates automáticamente
# 1. Hacer cambios en el código
# 2. Actualizar versión en pubspec.yaml
# 3. Commit
git add .
git commit -m "Nueva funcionalidad X"
# 4. Push
git push
# 5. Crear tag para release
git tag v1.0.1
git push origin v1.0.1
# 6. GitHub Actions automáticamente:
# - Compila el APK
# - Crea el Release
# - Adjunta el APK
# - Los usuarios reciben la actualización
# ¡Listo! 🎉