Documentation
¶
Overview ¶
Package release is how a binary becomes another release's. Every file comes from dl.mainplane.ai and counts only when its hash is in a SHA256SUMS the release key signed. A caller names a version, never a place or bytes, so whoever picks the version, a harness for its workers or a person for the harness, cannot make root run a binary we did not release. The private half of the key is the RELEASE_SIGNING_KEY secret that release.yml signs SHA256SUMS with. A download gets minutes: a binary is megabytes on any link.
Index ¶
Constants ¶
const (
DL = "https://dl.mainplane.ai/" // every release's files, install scripts included, under its version
)
Variables ¶
This section is empty.
Functions ¶
func Aside ¶ added in v0.5.5
Aside renames path to a name of its own beside it and returns that name, so a new binary can take path. Windows renames a running binary but will not replace or delete it, and a TUI may run any old binary for days, so each gets a new name and the asides from before go only once nothing runs them.
func Asides ¶ added in v0.5.5
Asides are the old binaries Aside left beside path, and the .old that releases before it left. A directory that cannot be read has none: Aside's rename and uninstall's removals then fail on it by name.
func Install ¶
Install puts release v's build of cmd for this machine at path. The new binary must say it is v. The old one moves aside: see Aside.
func InstallLines ¶ added in v0.5.5
InstallLines run the latest install script with args: on Linux and macOS, then on Windows.
Types ¶
This section is empty.