Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
letsgo
command
Command letsgo builds and publishes Go releases.
|
Command letsgo builds and publishes Go releases. |
|
internal
|
|
|
apply
Package apply holds a plan's enforcement: what an apply may write, and when a plan has gone stale.
|
Package apply holds a plan's enforcement: what an apply may write, and when a plan has gone stale. |
|
archive
Package archive writes byte-for-byte reproducible release archives.
|
Package archive writes byte-for-byte reproducible release archives. |
|
audit
Package audit re-checks a shipped release's source against today's vulnerability database and records what it finds.
|
Package audit re-checks a shipped release's source against today's vulnerability database and records what it finds. |
|
brew
Package brew generates and publishes Homebrew formulas.
|
Package brew generates and publishes Homebrew formulas. |
|
build
Package build compiles and packages release artifacts.
|
Package build compiles and packages release artifacts. |
|
bump
Package bump works out which version a release should carry.
|
Package bump works out which version a release should carry. |
|
bytesize
Package bytesize parses and renders sizes in bytes.
|
Package bytesize parses and renders sizes in bytes. |
|
changelog
Package changelog turns a range of commits into release notes.
|
Package changelog turns a range of commits into release notes. |
|
credential
Package credential resolves the tokens a release is written with.
|
Package credential resolves the tokens a release is written with. |
|
diff
Package diff compares two releases.
|
Package diff compares two releases. |
|
discover
Package discover derives everything letsgo needs from what is already in the repository: go.mod, the git remote, the directory layout, and the source itself.
|
Package discover derives everything letsgo needs from what is already in the repository: go.mod, the git remote, the directory layout, and the source itself. |
|
doctor
Package doctor diagnoses the tools and repository state a release needs, read-only and offline: see docs/hld/doctor.md.
|
Package doctor diagnoses the tools and repository state a release needs, read-only and offline: see docs/hld/doctor.md. |
|
feature
Package feature holds the catalogue of letsgo's optional behaviours: what each one is called, whether a repository may turn it off or make it strict, and what it defaults to.
|
Package feature holds the catalogue of letsgo's optional behaviours: what each one is called, whether a repository may turn it off or make it strict, and what it defaults to. |
|
forgerelease
Package forgerelease uploads a built release, idempotently.
|
Package forgerelease uploads a built release, idempotently. |
|
forgetest
Package forgetest serves a letsgo-published release the way a forge does.
|
Package forgetest serves a letsgo-published release the way a forge does. |
|
gate
Package gate runs the correctness checks that decide whether a release is fit to publish.
|
Package gate runs the correctness checks that decide whether a release is fit to publish. |
|
git
Package git runs git: every read of a repository letsgo needs, and every write it makes (tags, pushes, worktrees), through one Runner that carries the binary and the directory so a call states only what it asks.
|
Package git runs git: every read of a repository letsgo needs, and every write it makes (tags, pushes, worktrees), through one Runner that carries the binary and the directory so a call states only what it asks. |
|
github
Package github publishes releases to GitHub.
|
Package github publishes releases to GitHub. |
|
gobuild
Package gobuild invokes the Go toolchain with the flags and environment a reproducible release requires.
|
Package gobuild invokes the Go toolchain with the flags and environment a reproducible release requires. |
|
goproxy
Package goproxy is the Go module proxy: which one to use, warming it with a new version, and escaping module paths for its URLs.
|
Package goproxy is the Go module proxy: which one to use, warming it with a new version, and escaping module paths for its URLs. |
|
install
Package install generates a self-verifying installer for a release.
|
Package install generates a self-verifying installer for a release. |
|
lsp
Package lsp implements letsgo lsp: a language server over stdio for letsgo.mod, the global config.mod and .letsgo/*.mod.
|
Package lsp implements letsgo lsp: a language server over stdio for letsgo.mod, the global config.mod and .letsgo/*.mod. |
|
notes
Package notes writes a release's notes: the changelog since the previous tag, the "what shipped" comparison of manifests, and the manifest's fingerprint.
|
Package notes writes a release's notes: the changelog since the previous tag, the "what shipped" comparison of manifests, and the manifest's fingerprint. |
|
notes/notestest
Package notestest holds the fixtures the release-notes tests share: a repository with a history, and a forge that serves a manifest.
|
Package notestest holds the fixtures the release-notes tests share: a repository with a history, and a forge that serves a manifest. |
|
oci
Package oci builds container images without a daemon or a build system.
|
Package oci builds container images without a daemon or a build system. |
|
oci/ocitest
Package ocitest is an in-process container registry for tests: enough of the distribution API to exercise a real push and the reads that decide whether to make one.
|
Package ocitest is an in-process container registry for tests: enough of the distribution API to exercise a real push and the reads that decide whether to make one. |
|
pgpwords
Package pgpwords encodes bytes as the PGP word list (Juola & Zimmermann, 1995), for reading a digest aloud.
|
Package pgpwords encodes bytes as the PGP word list (Juola & Zimmermann, 1995), for reading a digest aloud. |
|
plan
Package plan resolves a release without performing one.
|
Package plan resolves a release without performing one. |
|
plugin
Package plugin runs the external programs a repository may put in the middle of a release.
|
Package plugin runs the external programs a repository may put in the middle of a release. |
|
pluginstore
Package pluginstore is the content-addressed store plugin binaries are installed into.
|
Package pluginstore is the content-addressed store plugin binaries are installed into. |
|
promote
Package promote rebuilds a prerelease as a stable release.
|
Package promote rebuilds a prerelease as a stable release. |
|
publication
Package publication makes a built release available: the forge release and its assets, the checksum and proxy gate that stands in front of them, the Homebrew tap and the container images.
|
Package publication makes a built release available: the forge release and its assets, the checksum and proxy gate that stands in front of them, the Homebrew tap and the container images. |
|
randomart
Package randomart draws a digest as a drunken-bishop picture, the same fingerprint art OpenSSH prints for `ssh-keygen -lv`.
|
Package randomart draws a digest as a drunken-bishop picture, the same fingerprint art OpenSSH prints for `ssh-keygen -lv`. |
|
receipt
Package receipt renders a verification as a till receipt.
|
Package receipt renders a verification as a till receipt. |
|
receipt/code128
Package code128 encodes text as a Code 128 barcode in character set B.
|
Package code128 encodes text as a Code 128 barcode in character set B. |
|
release
Package release turns a plan into a complete set of publishable files.
|
Package release turns a plan into a complete set of publishable files. |
|
releaser
Package releaser owns the release flow: resolve a plan, build it, hold the build to a saved plan, guard the forge, then publish or rehearse.
|
Package releaser owns the release flow: resolve a plan, build it, hold the build to a saved plan, guard the forge, then publish or rehearse. |
|
releases
Package releases reads Published Releases back from the forge: it selects which one a command means, and fetches its Manifest.
|
Package releases reads Published Releases back from the forge: it selects which one a command means, and fetches its Manifest. |
|
releases/githubsource
Package githubsource adapts the forge client to the releases package's sources, for one repository.
|
Package githubsource adapts the forge client to the releases package's sources, for one repository. |
|
releasetest
Package releasetest builds a minimal, real release for tests that need release.Build's actual output — a source tree, a git tag, and the resulting manifest and archives — rather than a hand-rolled stand-in.
|
Package releasetest builds a minimal, real release for tests that need release.Build's actual output — a source tree, a git tag, and the resulting manifest and archives — rather than a hand-rolled stand-in. |
|
repro
Package repro drives the release pipeline for reproducibility testing.
|
Package repro drives the release pipeline for reproducibility testing. |
|
repro/cmd/reprodigest
command
Command reprodigest builds the reproducibility fixture and prints the resulting digests as JSON.
|
Command reprodigest builds the reproducibility fixture and prints the resulting digests as JSON. |
|
safeexec
Package safeexec constrains where helper programs are found and what they can find in turn.
|
Package safeexec constrains where helper programs are found and what they can find in turn. |
|
sbom
Package sbom describes a release's dependencies in a form other tools read.
|
Package sbom describes a release's dependencies in a form other tools read. |
|
semver
Package semver compares version tags.
|
Package semver compares version tags. |
|
suggest
Package suggest finds the name a mistyped one probably meant, for a did-you-mean in an error message.
|
Package suggest finds the name a mistyped one probably meant, for a did-you-mean in an error message. |
|
sumdb
Package sumdb cross-checks a release's published source archive against sum.golang.org and the module proxy: see docs/hld/sumdb.md.
|
Package sumdb cross-checks a release's published source archive against sum.golang.org and the module proxy: see docs/hld/sumdb.md. |
|
updatecheck
Package updatecheck tells an interactive user, at most once per interval, that a newer letsgo release exists.
|
Package updatecheck tells an interactive user, at most once per interval, that a newer letsgo release exists. |
|
verify
Package verify rebuilds a published release and compares it against what was actually shipped.
|
Package verify rebuilds a published release and compares it against what was actually shipped. |
|
yank
Package yank retracts a published release.
|
Package yank retracts a published release. |
|
Package manifest describes a release in a form a machine can act on.
|
Package manifest describes a release in a form a machine can act on. |
|
Package modsyntax reads and formats the line-and-block directive syntax shared by letsgo.mod, the global config and every Plugin's own config.
|
Package modsyntax reads and formats the line-and-block directive syntax shared by letsgo.mod, the global config and every Plugin's own config. |
|
Package plan is what a release plan says it will do.
|
Package plan is what a release plan says it will do. |
|
Package plugin is the SDK a letsgo plugin is written against.
|
Package plugin is the SDK a letsgo plugin is written against. |
|
Package selfupdate updates a binary released by letsgo, from inside that binary.
|
Package selfupdate updates a binary released by letsgo, from inside that binary. |
Click to show internal directories.
Click to hide internal directories.