feat(release): version command, checksums, install script#67
Merged
Conversation
- cmd/cli: add var version (set by ldflags at build time, default 'dev') - cmd/cli: add 'seshat version' / '--version' / '-v' subcommand - release.yml: split 'release' job → 'build' for clarity; add SHA256SUMS.txt step - scripts/install.sh: curl-based installer — detects OS/arch, downloads correct binary from GitHub Releases, verifies SHA256, installs to ~/.local/bin (override with INSTALL_DIR=); warns if not in PATH
scripts/install.sh now covers the complete user setup: - Detect OS/arch, download binary, verify SHA256 - Install to ~/.local/bin (or $INSTALL_DIR) - Detect bash/zsh/fish and add PATH export to the right profile - Install uv if not present (via official installer) - Create Python venv + install docling-serve in $RUNTIME_ROOT/.venv - DB and runtime paths are created automatically on first 'seshat' run - NO_PYTHON=1 skips the uv/docling step (minimal install) - DOCLING_EXTRAS=gpu / PYTHON_VERSION=3.12 for customisation Developer path (no installer needed): go install github.com/EngineerProjects/seshat/cmd/cli@latest go get github.com/EngineerProjects/seshat@latest
- cmd/cli/setup.go: new 'seshat setup' subcommand
- 'seshat setup' installs uv (if missing) + creates venv + installs docling-serve
- 'seshat setup --check' reports what is installed without changing anything
- 'seshat setup --python' custom Python version (default 3.11)
- 'seshat setup --extras' pip extras e.g. gpu
- root.go: dispatch 'setup', add it to printUsage
- scripts/install.sh: replace inline uv/docling logic with '$seshat setup'
so the setup logic lives in one place and both install paths are consistent:
curl | bash -> binary install + seshat setup (automatic)
go install ... -> binary only, then: seshat setup (on demand)
…t setup - Replace 'coming soon' binaries section with actual install instructions - Lead Quick Start with curl installer (end-user path) - CLI section: show both curl and go install paths side by side - Add seshat setup / setup --check to CLI command reference - Development section: clarify build-from-source vs runtime setup - Add seshat setup section explaining --check / --python / --extras flags - Add make clean / clean-runtime / clean-all to daily commands
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
seshat version/--version/-v— prints the build-time version (injected via ldflags, defaults todev)release.yml— addsSHA256SUMS.txtgeneration step before publishing to GitHub Releasesscripts/install.sh— one-liner installer: detects OS/arch, downloads the correct binary, verifies SHA256, installs to~/.local/binUsage after merge + tag
Test plan
seshat versionprintsdevon local buildv*tag and produces binaries +SHA256SUMS.txt