bb update¶
Check for and install the latest bb release
bb update [flags]
bb installs a release only after verifying it: the signature on its checksum file against the configured trust material, unless administrative policy sets allow_unverified_update; the checksum file's entry for this platform's archive; and the archive itself against that entry.
It puts the new binary in place before it exits. When bb runs through a symbolic link, it replaces the file the link names and leaves the link as it is. On Windows, which will not delete a running executable, the binary it replaced stays beside the new one, as bb.exe.old- and a random suffix, until the next bb run deletes it.
With --dry-run, bb update makes the same checks and installs nothing. It checks the latest release even when that is the version already installed, which makes it the way to verify a release mirror, and it fails with exit status 5 (conflict) when the latest release is older than the installed one.
# Install the latest release
bb update
# Check the latest release and its signature, and install nothing
bb update --dry-run
# From a mirror inside your network
bb update --base-url https://mirror.example.com/bb
--allow-http- Permit a plain-HTTP release mirror; refused when administrative policy sets allow_http_update: false
--base-url string- Custom release mirror base URL; https unless --allow-http
Also takes the global flags.
Dry run: Reports the release it would install and whether it verifies, without installing it
Output with --json, where ? marks a field that can be absent
data
currentVersion string Version currently installed.
latestVersion string Newest published release.
updateAvailable boolean Whether the latest release is newer than the installed one.
upToDate boolean Whether the installed version is already the latest.
comparison? string How the two versions compare, when both could be parsed as semver.
currentVersionComparable boolean Whether the installed version parsed as semver.
latestVersionComparable boolean Whether the published version parsed as semver.
dryRun boolean Whether this run verified the latest release and installed nothing.
applied boolean Whether the new binary is now in place.
plannedAction? string What the run would do, or did.
release? object Where the release was fetched from.
url? string Release page for the selected version.
assetName? string Archive chosen for this platform.
assetUrl? string Download URL for that archive.
checksumAssetName? string Checksum file published alongside it.
signatureBundleAssetName? string Sigstore bundle published alongside it.
trust? object What was verified about the release before it was trusted.
checksumAvailable boolean Whether the checksum file has an entry for this platform's archive.
checksumVerified boolean Whether the download matched its checksum.
signatureVerified boolean Whether the Sigstore signature verified.
signatureSkipped boolean Whether signature verification was deliberately not performed, because
administrative policy set allow_unverified_update.
transparencyLogVerified boolean Whether the signature was found in the Sigstore transparency log.
source? string Where the Sigstore trust material came from, so an operator can confirm an
offline trust root is actually in use.
identity? string Signing identity the signature was issued to.
issuer? string OIDC issuer that vouched for that identity.
paths? object Filesystem locations involved in the swap.
install? string Where the running binary lives, and where a new one is written.
platform? string Operating system and architecture the asset targets.