09cbc57b8c
release / release (push) Successful in 13s
First milestone release — a complete, installable, self-updating RigDoctor: live monitoring, crash capture + health report, desktop GUI, user-local install/uninstall, and token-gated self-update with real release notes. - feat(gui): in-app uninstaller — Setup "Uninstall RigDoctor" button and `rigdoctor uninstall [--purge]`; removes venv/launchers/desktop entry (detached so it can delete its own venv), with optional purge of settings/token/logs (core/uninstall.py) - feat(gui): in-app changelog — sidebar "Changelog" link listing release history fetched from the update server (updates.list_releases) - chore: versioning rules + automation (D21) — git-cliff --bumped-version, packaging/bump.sh, cliff.toml [bump] (pre-1.0: breaking -> minor) - chore(release): stamp 0.1.0; milestone policy recorded in D19 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
26 lines
1.0 KiB
Bash
Executable File
26 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
# Auto-set the next version from Conventional Commits (git-cliff), per D21.
|
|
# Run after committing your feat:/fix: changes; it updates __init__.py + pyproject.toml.
|
|
# Then update CHANGELOG.md, commit as `chore(release): vX.Y.Z`, and push (CI tags + releases).
|
|
set -eu
|
|
|
|
ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
|
cd "$ROOT"
|
|
|
|
command -v git-cliff >/dev/null 2>&1 || { echo "git-cliff not found. Install: pip install git-cliff"; exit 1; }
|
|
|
|
NEXT=$(git-cliff --bumped-version | sed 's/^v//')
|
|
[ -n "$NEXT" ] || { echo "Could not compute the next version."; exit 1; }
|
|
|
|
python3 - "$NEXT" <<'PY'
|
|
import pathlib, re, sys
|
|
version = sys.argv[1]
|
|
init = pathlib.Path("src/rigdoctor/__init__.py")
|
|
init.write_text(re.sub(r'__version__ = "[^"]+"', f'__version__ = "{version}"', init.read_text()))
|
|
proj = pathlib.Path("pyproject.toml")
|
|
proj.write_text(re.sub(r'(?m)^version = "[^"]+"', f'version = "{version}"', proj.read_text(), count=1))
|
|
PY
|
|
|
|
echo "Set version to $NEXT."
|
|
echo "Next: add a '## [$NEXT]' CHANGELOG section, then commit as 'chore(release): v$NEXT'."
|