This document records the Phase 3 distribution / CI polish path for svlens.
svlens remains a pre-signoff structural analysis tool. Distribution work
improves installation ergonomics and repeatability; it does not change the
product boundary.
Phase 3 standardizes a release archive flow driven by:
- GitHub Actions workflow:
.github/workflows/release.yml - Packaging helper:
scripts/package-release.sh
From a built tree:
./scripts/package-release.sh build-offline svlens-local distThis creates:
dist/svlens-local/staging directorydist/svlens-local.tar.gzdist/svlens-local.zipwhenzipis available
svlensbinaryLICENSEREADME.mddocs/install.mddocs/cli-help.mddocs/schema/*.md
The release workflow:
- stages
slang - configures a release build with
SVLENS_FETCH_DEPS=OFF - builds
svlens - runs
scripts/package-release.sh - uploads the generated archives as workflow artifacts
This is the Phase 3 “documented and exercised” release path.
Deferred with rationale.
Why deferred:
- a stable tagged release URL + SHA256 workflow must exist first
- bottle strategy is premature until macOS/Linux release artifacts settle
- Phase 3 focuses first on a reliable archive path and OS smoke coverage
- create a tap formula pointing at a tagged archive
- validate formula syntax on macOS CI
- install via
brew install <tap>/svlens - verify
svlens --help,svlens conn --help, and a small contract bundle
Phase 3 is considered complete when:
- OS matrix smoke is green
- archive production path is documented and exercised
- Homebrew/tap handling is either exercised or explicitly deferred with rationale