v1.0.0: añade --version, empaqueta release tar.gz, elimina wrapper

This commit is contained in:
2026-05-18 09:08:06 +02:00
parent 0721f1fc3a
commit b1e859a9a5
4 changed files with 30 additions and 7 deletions
+15 -2
View File
@@ -1,11 +1,20 @@
#!/usr/bin/env bash
# Compila gitswarm a un binario standalone con Nuitka.
# Compila gitswarm a un binario standalone con Nuitka y empaqueta un tar.gz de release.
# Requisitos del sistema: python3-dev, gcc, patchelf (ver README).
set -euo pipefail
HERE="$(cd "$(dirname "$0")" && pwd)"
cd "$HERE"
VERSION="$(grep -oP '__version__\s*=\s*"\K[^"]+' gitswarm.py)"
if [ -z "$VERSION" ]; then
echo "[build] no se pudo leer __version__ de gitswarm.py" >&2
exit 1
fi
ARCH="$(uname -m)"
OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
RELEASE_NAME="gitswarm-v${VERSION}-${OS}-${ARCH}"
if [ ! -d .venv ]; then
echo "[build] creando venv…"
python3 -m venv .venv
@@ -18,6 +27,7 @@ if ! .venv/bin/python -c "import nuitka" 2>/dev/null; then
.venv/bin/pip install --quiet nuitka
fi
echo "[build] versión: v${VERSION}"
echo "[build] limpiando artefactos previos…"
rm -rf dist build gitswarm.build gitswarm.dist gitswarm.onefile-build
@@ -32,6 +42,9 @@ echo "[build] compilando (esto puede tardar 1-2 min)…"
--include-package=rich \
gitswarm.py
echo "[build] empaquetando release ${RELEASE_NAME}.tar.gz…"
tar -czf "dist/${RELEASE_NAME}.tar.gz" -C dist gitswarm
echo "[build] hecho:"
ls -lh dist/gitswarm
ls -lh "dist/gitswarm" "dist/${RELEASE_NAME}.tar.gz"
echo "[build] instalar con: cp dist/gitswarm ~/.local/bin/"