Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions docs/releasing.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,17 @@ having no brew line at all.
both.
6. Publish the draft and mark it latest. That creates the tag on the released
commit.
7. **Move the Homebrew tap.** Update `Formula/bootintel.rb` in
`BootIntel/homebrew-tap` with the new `version` and all four sha256 values,
read out of that release's `SHA256SUMS` rather than transcribed: a wrong
digest makes `brew install` fail with a checksum mismatch, which reads to a
user like a compromised download. Then sync
`packaging/homebrew/bootintel.rb` in this repo so the reference copy is not
claiming checksums that no longer exist.

This step was missing from the list until 0.8.0, and the in-repo copy sat at
0.5.0 while 0.6.0, 0.6.1 and 0.7.0 shipped as a result. The tap itself was
kept current each time, but only because someone remembered.

## Yanking a published version

Expand Down
43 changes: 22 additions & 21 deletions packaging/homebrew/bootintel.rb
Original file line number Diff line number Diff line change
@@ -1,45 +1,44 @@
# Template for the formula published at BootIntel/homebrew-tap.
# Reference copy of the formula published at BootIntel/homebrew-tap.
#
# The tap is what users install from:
#
# brew tap bootintel/tap
# brew install bootintel
#
# This file is the reference copy. When cutting a release, update the tap's
# Formula/bootintel.rb with the new version and all four sha256 values from
# that release's SHA256SUMS artifact. A stale formula is worse than a missing
# one: it installs an old binary while appearing to work.
# THE TAP IS THE ONE THAT MATTERS. This file is a copy for review and for
# bootstrapping the tap if it ever has to be recreated; nothing installs from
# it. It sat at 0.5.0 while 0.6.0, 0.6.1 and 0.7.0 shipped, because the release
# checklist did not name the tap as a step; that is now fixed in
# docs/releasing.md. A stale copy of a formula is worse than no copy: it invites
# someone to trust the checksums in it.
#
# The version and checksums below track the latest release but are NOT what
# users get; the tap is. Verify the tap after every release.

# Keep this byte-identical to the tap's Formula/bootintel.rb apart from this
# header, so a diff between them is a real finding rather than noise.
class Bootintel < Formula
desc "Interactive UART capture + streaming boot-log analysis"
desc "Interactive UART capture and streaming boot-log analysis"
homepage "https://bootintel.com"
version "0.5.0"
version "0.8.0"
license "Apache-2.0"

# SHA256s pulled from the SHA256SUMS artifact of the v0.3.1
# release cut on bootintel/cli. Regenerate on every version bump.
on_macos do
on_arm do
url "https://github.com/bootintel/cli/releases/download/cli-v#{version}/bootintel-v#{version}-aarch64-macos.tar.gz"
sha256 "3863ee56f86b43a1fd4f131d9e484713ebcb1550bece5ad7c2ee4de2c3ca77ce"
url "https://github.com/BootIntel/cli/releases/download/cli-v#{version}/bootintel-v#{version}-aarch64-macos.tar.gz"
sha256 "7952a953cf6ca61654375fd0077f1a2918db3f7cc058fbb770278a12476ea3b3"
end
on_intel do
url "https://github.com/bootintel/cli/releases/download/cli-v#{version}/bootintel-v#{version}-x86_64-macos.tar.gz"
sha256 "55cfe10f276b47e8843a670ba349c0add1f091e842a190fdd07229b646425c44"
url "https://github.com/BootIntel/cli/releases/download/cli-v#{version}/bootintel-v#{version}-x86_64-macos.tar.gz"
sha256 "6704ea35f8c6f1925784046c91dd3a11c6439600ab8fc71aa3665c7dbe6efe4a"
end
end

on_linux do
on_arm do
url "https://github.com/bootintel/cli/releases/download/cli-v#{version}/bootintel-v#{version}-aarch64-linux.tar.gz"
sha256 "0f91ffde24100bc8456aef39bda9493ba677d81b1589b2d59833be10d62ea4be"
url "https://github.com/BootIntel/cli/releases/download/cli-v#{version}/bootintel-v#{version}-aarch64-linux.tar.gz"
sha256 "1126fc60c68e1bb80e8607c2ad81ec77926f8a343c3c4247959d593455138158"
end
on_intel do
url "https://github.com/bootintel/cli/releases/download/cli-v#{version}/bootintel-v#{version}-x86_64-linux.tar.gz"
sha256 "1a2dc10499c8db658a698d45e47789b964843d806a0b5f7f51e439c1e05586ed"
url "https://github.com/BootIntel/cli/releases/download/cli-v#{version}/bootintel-v#{version}-x86_64-linux.tar.gz"
sha256 "8b225459d6e61be6523dc92a3882963dd464599bb09ea00c2de2976ffe7d74a8"
end
end

Expand All @@ -48,6 +47,8 @@ def install
end

test do
assert_match "bootintel", shell_output("#{bin}/bootintel version")
# `version` is a real subcommand and prints the detector count, so this
# asserts the binary actually ran rather than just existing on disk.
assert_match "bootintel #{version}", shell_output("#{bin}/bootintel version")
end
end
Loading