The updater reads the latest release from Gitea. update::apply refuses to overwrite anything but the CLI. Release workflow builds the Linux CLI; scripts/build-gui.sh builds the Linux and Windows desktop app. Docs say Linux and Windows only. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
40 lines
1.3 KiB
Bash
Executable File
40 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Compila o CLI para uma plataforma e empacota como o atualizador espera:
|
|
# sabia-<tag>-<plataforma>.tar.gz com um .sha256 ao lado.
|
|
#
|
|
# scripts/package-cli.sh v1.0.1 linux-x86_64 x86_64-unknown-linux-gnu
|
|
#
|
|
# Plataformas: linux-x86_64 e linux-aarch64. O alvo diferente da máquina de build
|
|
# usa o linker cruzado correspondente (gcc-x86-64-linux-gnu). Escreve os arquivos
|
|
# na raiz do repositório e imprime os nomes.
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
tag=${1:?uso: package-cli.sh <tag> <plataforma> <alvo-rust>}
|
|
platform=${2:?uso: package-cli.sh <tag> <plataforma> <alvo-rust>}
|
|
target=${3:?uso: package-cli.sh <tag> <plataforma> <alvo-rust>}
|
|
|
|
case "$target" in
|
|
x86_64-unknown-linux-gnu)
|
|
if [ "$(uname -m)" != x86_64 ]; then
|
|
export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-linux-gnu-gcc
|
|
export CC_x86_64_unknown_linux_gnu=x86_64-linux-gnu-gcc
|
|
fi ;;
|
|
esac
|
|
|
|
rustup target add "$target" >/dev/null 2>&1 || true
|
|
cargo build --release --locked -p sabia-cli --target "$target"
|
|
|
|
name="sabia-${tag}-${platform}"
|
|
rm -rf "$name"; mkdir "$name"
|
|
cp "${CARGO_TARGET_DIR:-target}/${target}/release/sabia" "$name/"
|
|
cp README.md LICENSE-MIT LICENSE-APACHE "$name/"
|
|
|
|
tar czf "$name.tar.gz" "$name"
|
|
asset="$name.tar.gz"
|
|
rm -rf "$name"
|
|
sha256sum "$asset" > "$asset.sha256"
|
|
echo "$asset"
|
|
echo "$asset.sha256"
|