Files
clawpal/scripts/release.sh

40 lines
831 B
Bash
Raw Normal View History

#!/usr/bin/env bash
set -euo pipefail
DRY_RUN=0
if [ "${1:-}" = "--dry-run" ]; then
DRY_RUN=1
fi
say() {
printf "%s\n" "$1"
}
run_or_print() {
if [ "$DRY_RUN" -eq 1 ]; then
say "[dry-run] $*"
else
say "[run] $*"
eval "$@"
fi
}
VERSION=$(node -p "require('./package.json').version")
say "ClawPal v${VERSION} release assistant"
say "======================================"
run_or_print "npm run typecheck"
run_or_print "npm run build"
run_or_print "cd src-tauri && cargo fmt --all --check"
run_or_print "cd src-tauri && cargo tauri build"
say ""
say "Local build complete!"
say ""
say "To publish via GitHub Actions (builds macOS + Windows + Linux):"
say " git tag v${VERSION}"
say " git push origin v${VERSION}"
say ""
say "This will trigger .github/workflows/release.yml and create a draft release."