From 0761db8aeaa2dad8d70dde68be0ce7c09c51db61 Mon Sep 17 00:00:00 2001 From: Jeremy Leibs Date: Fri, 24 Jul 2026 22:17:11 -0400 Subject: [PATCH] Fix buf install on Linux arm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit buf spells the arm architecture differently per OS: Darwin and Windows assets say `arm64`, Linux ones say `aarch64`. The plugin renamed `aarch64 -> arm64` globally, so a Linux arm host asked for the nonexistent `buf-Linux-arm64.tar.gz` and the install 404'd. Scope the rename to macOS and Windows with `[platform..arch]`, leaving Linux on proto's own `aarch64`. Surfaced by a praxis-core release build on an `ubuntu-24.04-arm` runner, the first Linux arm target to install this plugin. Verified `buf-Linux-aarch64.tar.gz` exists for the pinned 1.71.0 and that install plus checksum verification still succeed on Linux x86_64. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5 (1M context) --- buf/plugin.toml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/buf/plugin.toml b/buf/plugin.toml index 9ba58ef..87962e5 100644 --- a/buf/plugin.toml +++ b/buf/plugin.toml @@ -4,12 +4,8 @@ type = "cli" [resolve] git-url = "https://github.com/bufbuild/buf" -# buf names macOS arm assets "arm64". Linux arm assets are "aarch64", but the CI -# matrix has no Linux arm target, so aarch64 only ever resolves on macOS here. -[install.arch] -aarch64 = "arm64" -x86_64 = "x86_64" - +# buf spells the arm architecture per OS: Linux assets say "aarch64", Darwin and +# Windows ones say "arm64", so the rename lives on those two platforms only. [platform.linux] download-file = "buf-Linux-{arch}.tar.gz" checksum-file = "sha256.txt" @@ -20,11 +16,17 @@ download-file = "buf-Darwin-{arch}.tar.gz" checksum-file = "sha256.txt" exe-path = "buf/bin/buf" +[platform.macos.arch] +aarch64 = "arm64" + [platform.windows] download-file = "buf-Windows-{arch}.zip" checksum-file = "sha256.txt" exe-path = "buf/bin/buf.exe" +[platform.windows.arch] +aarch64 = "arm64" + [install] download-url = "https://github.com/bufbuild/buf/releases/download/v{version}/{download_file}" checksum-url = "https://github.com/bufbuild/buf/releases/download/v{version}/{checksum_file}"