40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
# DH Inspección Android · contrato de release F5
|
|
|
|
## Estado de esta etapa
|
|
|
|
La primera candidata de F5 es `0.13.0-rc1` (`versionCode 20`). Su objetivo es convertir el cliente Android en una barrera verificable del repositorio antes del piloto de campo.
|
|
|
|
## Barrera obligatoria
|
|
|
|
Todo cambio Android o de API que pueda afectar al cliente móvil debe pasar el workflow `Android CI / RC`:
|
|
|
|
1. Android lint.
|
|
2. Unit tests Android reales (el job falla si no existe ningún XML de tests con al menos una prueba).
|
|
3. `assembleDebug`.
|
|
4. `assembleRelease` para verificar que la variante productiva compile.
|
|
5. Empaquetado del APK debug RC con SHA-256 y metadata de commit/versionado.
|
|
|
|
El APK debug usa `com.korexlabs.dhinspeccion.debug`; es deliberadamente independiente de la app productiva y sirve para QA/piloto técnico sin sobrescribir una instalación release histórica.
|
|
|
|
## Firma release
|
|
|
|
La clave histórica de firma NO se versiona ni se reemplaza. La variante release se compila en CI, pero el APK de distribución final deberá firmarse con la clave histórica y comprobarse antes de instalarlo como actualización de `com.korexlabs.dhinspeccion`.
|
|
|
|
No se debe generar una clave nueva para "resolver" una falta de acceso: eso rompería la continuidad de actualización de las tablets que ya tengan una versión firmada con la clave anterior.
|
|
|
|
## Evidencia mínima de cada candidata
|
|
|
|
El artefacto de CI contiene:
|
|
|
|
- APK debug RC;
|
|
- archivo `.sha256`;
|
|
- `release-metadata.txt` con versión, versionCode, commit, applicationId, API base y canal.
|
|
|
|
Para un release de campo definitivo se agregará además:
|
|
|
|
- APK release firmada;
|
|
- huella/certificado de firma comprobado contra la versión histórica;
|
|
- prueba de actualización sobre una tablet con versión anterior;
|
|
- smoke funcional contra producción;
|
|
- registro del SHA Git exacto que originó la APK.
|