Compare commits
16
Commits
main
..
cbc54e915b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cbc54e915b | ||
|
|
86dd20b184 | ||
|
|
6b91ad88e8 | ||
|
|
05f70af7f1 | ||
|
|
c30bbacbbc | ||
|
|
192a3aca0e | ||
|
|
ab3554b746 | ||
|
|
8a71bc237f | ||
|
|
8e155cc0ac | ||
|
|
575ba793ae | ||
|
|
a5572d2cbd | ||
|
|
98b24d84cd | ||
|
|
72c5777508 | ||
|
|
b69041f32a | ||
|
|
9681a47e83 | ||
|
|
524b8f0035 |
+13
-57
@@ -68,18 +68,7 @@ jobs:
|
||||
echo "keyPassword=$KEYSTORE_PASSWORD" >> android/key.properties
|
||||
echo "✅ Keystore configurado"
|
||||
|
||||
# PRO owns the version NAME; every branch advances the build NUMBER.
|
||||
#
|
||||
# Previously main also bumped its patch on every push, so main's semver
|
||||
# raced permanently ahead of PRO's (main hit 1.3.3 while the branch that
|
||||
# actually ships sat at 1.3.0). That buried the release artifacts under a
|
||||
# dev branch on builds.freetimelab.es, which sorts by version, and made
|
||||
# every main<->PRO merge conflict on pubspec.yaml.
|
||||
#
|
||||
# The build number still advances everywhere: Google Play requires it to
|
||||
# be monotonic across the whole app, so two branches must never mint the
|
||||
# same code.
|
||||
- name: Bump versión + commit
|
||||
- name: Bump versión patch + commit
|
||||
run: |
|
||||
BRANCH="${CURRENT_REF#refs/heads/}"
|
||||
git config user.name "ShanaiaBot"
|
||||
@@ -88,20 +77,12 @@ jobs:
|
||||
SEMVER=$(echo "$CURRENT" | cut -d'+' -f1)
|
||||
BUILD=$(echo "$CURRENT" | cut -d'+' -f2)
|
||||
NEW_BUILD=$((BUILD + 1))
|
||||
|
||||
# Look for [version set] across EVERY commit this push introduced,
|
||||
# not just the tip. `git pull` inserts an auto-generated merge commit
|
||||
# whose message carries no marker, which silently discarded a pinned
|
||||
# version name and bumped 1.3.0 to 1.3.1 behind our backs.
|
||||
RANGO="${{ gitea.event.before }}..${{ gitea.sha }}"
|
||||
if git log "$RANGO" --pretty=%B 2>/dev/null | grep -q '\[version set\]'; then
|
||||
MARCADOR="si"
|
||||
else
|
||||
MARCADOR="no"
|
||||
fi
|
||||
|
||||
if [ "$BRANCH" != "PRO" ] || [ "$MARCADOR" = "si" ]; then
|
||||
# Non-release branches never touch the name; PRO respects a pin.
|
||||
# If the triggering commit explicitly pins the version name via the
|
||||
# [version set] marker, ship that semver as-is (a milestone like 1.0.0
|
||||
# or a major/minor jump the automatic patch bump cannot reach) and only
|
||||
# advance the build number, which Google Play requires to stay
|
||||
# monotonic. Otherwise keep the default automatic patch+build bump.
|
||||
if git log -1 --pretty=%B | grep -q '\[version set\]'; then
|
||||
NEW_VERSION="${SEMVER}+${NEW_BUILD}"
|
||||
else
|
||||
MAJOR=$(echo "$SEMVER" | cut -d. -f1)
|
||||
@@ -110,8 +91,6 @@ jobs:
|
||||
NEW_PATCH=$((PATCH + 1))
|
||||
NEW_VERSION="${MAJOR}.${MINOR}.${NEW_PATCH}+${NEW_BUILD}"
|
||||
fi
|
||||
|
||||
echo "rama=${BRANCH} marcador=${MARCADOR} ${CURRENT} -> ${NEW_VERSION}"
|
||||
sed -i '' "s/^version: .*/version: ${NEW_VERSION}/" pubspec.yaml
|
||||
git add pubspec.yaml
|
||||
git commit -m "chore: bump version to ${NEW_VERSION} [ci skip]"
|
||||
@@ -276,29 +255,7 @@ jobs:
|
||||
ETIQUETA="${BRANCH}-v${VERSION}+${BUILD_NUMBER}"
|
||||
APK_NOMBRE="pluriwave-${ETIQUETA}.apk"
|
||||
AAB_NOMBRE="pluriwave-${ETIQUETA}.aab"
|
||||
# La rama va en el NOMBRE DE LA APP, no en una subcarpeta.
|
||||
#
|
||||
# El objetivo sigue siendo el de siempre: que main y PRO no se mezclen
|
||||
# en el portal, que ordena por número de versión y mostraba el build
|
||||
# de desarrollo como "última versión" por delante del de release.
|
||||
#
|
||||
# Pero la primera solución metía la rama como TERCER nivel
|
||||
# (pluriwave/main/v1.3.3/) y el portal indexa solo DOS —
|
||||
# <app>/<versión>/<ficheros> —, así que desde el 29-08 ningún build de
|
||||
# main volvió a aparecer en builds.freetimelab.es aunque el job saliera
|
||||
# verde: el scp subía bien, a una ruta que el indexador no lee. Nada
|
||||
# avisaba, y el echo de abajo se comía la rama y mandaba a la carpeta
|
||||
# antigua, que llevaba congelada desde el +157.
|
||||
#
|
||||
# Con la rama en el nombre, PRO conserva la entrada limpia "pluriwave"
|
||||
# y main tiene la suya, igual que ya conviven radar-foral y
|
||||
# radar-foral-android.
|
||||
if [ "$BRANCH" = "PRO" ]; then
|
||||
APP="pluriwave"
|
||||
else
|
||||
APP="pluriwave-$(echo "$BRANCH" | tr '/' '-')"
|
||||
fi
|
||||
DESTINO="/opt/ftl-builds/builds/${APP}/v${VERSION}"
|
||||
DESTINO="/opt/ftl-builds/builds/pluriwave/v${VERSION}"
|
||||
SSH_KEY="/Users/freetlab/.openclaw/workspace/.secure/zimaboard_ed25519"
|
||||
|
||||
ssh -i "$SSH_KEY" -o StrictHostKeyChecking=no ShanaiaBot@192.168.0.33 "mkdir -p ${DESTINO}"
|
||||
@@ -308,11 +265,8 @@ jobs:
|
||||
scp -i "$SSH_KEY" -o StrictHostKeyChecking=no \
|
||||
build/app/outputs/bundle/release/app-release.aab \
|
||||
"ShanaiaBot@192.168.0.33:${DESTINO}/${AAB_NOMBRE}"
|
||||
# La ruta se imprime desde ${APP}, no a mano: la version anterior tenia
|
||||
# "pluriwave" escrito a fuego y mandaba a la carpeta equivocada cada
|
||||
# vez que se compilaba algo que no fuera PRO.
|
||||
echo "✅ APK: builds.freetimelab.es → ${APP} → v${VERSION} → ${APK_NOMBRE}"
|
||||
echo "✅ AAB: builds.freetimelab.es → ${APP} → v${VERSION} → ${AAB_NOMBRE}"
|
||||
echo "✅ APK: builds.freetimelab.es → pluriwave → v${VERSION} → ${APK_NOMBRE}"
|
||||
echo "✅ AAB: builds.freetimelab.es → pluriwave → v${VERSION} → ${AAB_NOMBRE}"
|
||||
|
||||
# La publicacion automatica en Google Play es OPCIONAL.
|
||||
#
|
||||
@@ -365,7 +319,9 @@ jobs:
|
||||
if [ -z "$BOT_TOKEN" ]; then exit 0; fi
|
||||
if [ "${{ job.status }}" = "success" ]; then
|
||||
MSG="✅ *PluriWave* v${VERSION} · rama ${BRANCH} · ${COMMIT}%0AAPK + AAB generados"
|
||||
# Solo se anuncia la subida a Play cuando de verdad ocurrio.
|
||||
# Solo se anuncia la subida a Play cuando de verdad ocurrio: el paso
|
||||
# se omite si falta el secreto, y un aviso que dice "publicado"
|
||||
# cuando no se publico es peor que no avisar.
|
||||
if [ "$BRANCH" = "PRO" ] && [ "${{ steps.credenciales_play.outputs.disponible }}" = "si" ]; then
|
||||
MSG="${MSG}%0APublicado en Google Play · Internal Testing"
|
||||
elif [ "$BRANCH" = "PRO" ]; then
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
name: pluriwave
|
||||
description: "Radio mundial con ecualizador, reconocimiento de canciones y UI premium"
|
||||
publish_to: 'none'
|
||||
version: 1.3.3+162
|
||||
version: 1.3.3+161
|
||||
|
||||
environment:
|
||||
sdk: ^3.7.0
|
||||
|
||||
Reference in New Issue
Block a user