28 lines
963 B
Markdown
28 lines
963 B
Markdown
# Versioning & self-update
|
|
|
|
`VERSION` at the repo root is the release source of truth.
|
|
|
|
## Releases
|
|
|
|
On pushes to `main`, the release workflow runs formatting, static analysis, race
|
|
tests, and build. If all gates pass, it creates tag `vVERSION` when that tag
|
|
does not already exist.
|
|
|
|
Binaries receive their version at build time through linker flags. Builds
|
|
without that flag report `0.0.0-dev` and skip passive update hints.
|
|
|
|
## Update checks
|
|
|
|
Release builds check the public Gitea tags API in two places: `sherlock version`
|
|
and just before agent handoff. The check is bounded, best-effort, uncached, and
|
|
disabled by `SHERLOCK_NO_UPDATE_CHECK`.
|
|
|
|
## Updating
|
|
|
|
`sherlock update` installs the latest release through the shared installer.
|
|
`--force` reinstalls even when already current. Updates rebuild binaries and
|
|
completions but leave config untouched.
|
|
|
|
Overrides: `SHERLOCK_UPDATE_TAGS_URL` for tag lookup and
|
|
`SHERLOCK_UPDATE_REPO_URL` for clone/update source.
|