Versiones
Translay usa versionado semántico: mayor.menor.parche. La versión vive en vt/__init__.py (python run.py --version), docs/package.json y la app de escritorio (desktop/package.json, desktop/src-tauri/Cargo.toml y tauri.conf.json); scripts/release.py los cambia todos juntos. Cada versión es una etiqueta vX.Y.Z.
| Sube | Cuando desde la última versión hay… |
|---|---|
| Mayor | un cambio incompatible (! o BREAKING CHANGE:): datos que hay que migrar, rutas de la API que cambian |
| Menor | al menos un feat |
| Parche | solo fix o perf |
Liberar
Sección titulada «Liberar»-
Revisa que «Unreleased» en
CHANGELOG.mdy «Sin publicar» enCHANGELOG.es.mdcuenten todo lo que cambió, agrupado como en las versiones anteriores. -
Consulta qué número toca según los commits:
Ventana de terminal python scripts/release.py --next -
Prueba y libera:
Ventana de terminal python scripts/release.py 1.1.0 --dry-runpython scripts/release.py 1.1.0Cambia la versión, convierte «Unreleased» y «Sin publicar» en
## 1.1.0 · <fecha>en los dos changelogs (sin dejar una sección vacía encima; la documentación solo muestra versiones publicadas), hace el commitchore(release): v1.1.0y la etiqueta anotadav1.1.0con las notas. -
Publica:
Ventana de terminal git push --follow-tagsAl llegar la etiqueta,
.github/workflows/release.ymlcompila el instalador en Windows (npm --prefix desktop run build) y crea la versión en Releases con las notas de los dos changelogs (inglés, y español debajo) yTranslay_<versión>_x64-setup.exeadjunto.
Compilar el instalador a mano
Sección titulada «Compilar el instalador a mano»cd desktopnpm cinpm run buildNecesita Node.js y Rust (rustup). scripts/prepare.mjs baja las herramientas de desktop/tools.json (una vez, quedan en desktop/.cache/) y comprueba su SHA-256 antes de empaquetarlas. El instalador queda en desktop/src-tauri/target/release/bundle/nsis/. Para probar la app sin instalarla: npm run dev (usa el código del repositorio).
Si cambias requirements.txt, regenera el lock del servidor (la próxima apertura de la app lo instala):
uv pip compile requirements.txt --python-version 3.12 --python-platform x86_64-pc-windows-msvc --generate-hashes --no-header -o desktop/locks/server.txtRepositorio
Sección titulada «Repositorio»github.com/alenj0x1/translay, rama main. Los commits van a nombre de alenj0x1 con el correo privado de GitHub (140274341+alenj0x1@users.noreply.github.com), configurado en el repositorio:
git config user.name alenj0x1git config user.email 140274341+alenj0x1@users.noreply.github.com| Flujo | Cuándo | Qué hace |
|---|---|---|
docs.yml |
push a main con cambios en docs/, vt/ o los changelogs |
Compila y publica la documentación |
release.yml |
etiqueta vX.Y.Z |
Compila el instalador y crea la versión con las notas y el instalador |
commits.yml |
pull request | Revisa que los commits sigan la convención |