From ab3b93b00fd48bb13c21a3f343a214276c4a2803 Mon Sep 17 00:00:00 2001 From: Stefan VanBuren Date: Wed, 18 Mar 2026 15:55:20 -0400 Subject: [PATCH] Add release binaries for FreeBSD / OpenBSD This adds support for both FreeBSD and OpenBSD with both amd64 and arm64 architectures, consistent with our existing Darwin/Linux binaries. Note that this still needs updates in our NPM release process to fully resolve the linked issue. Related to #3047. --- CHANGELOG.md | 1 + README.md | 16 ++++++++-------- make/buf/scripts/release.bash | 10 ++++++---- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9845b4f1f7..3e0f65cebb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Add support for `--rbs_out` as a `protoc_builtin` plugin (requires protoc v34.0+). - Add relevant links from CEL LSP hover documentation to either or +- Add OpenBSD and FreeBSD release binaries for amd64 and arm64. ## [v1.66.1] - 2026-03-09 diff --git a/README.md b/README.md index a956e7c50e..72f91d017b 100644 --- a/README.md +++ b/README.md @@ -102,14 +102,14 @@ After completing the tour, check out the remainder of the [docs] for your specif The following is a breakdown of the binaries by CPU architecture and operating system available through our [releases]: -| | Linux | MacOS | Windows | -| --- | --- | --- | --- | -| x86 (64-bit) | ✅ | ✅ | ✅ | -| ARM (64-bit) | ✅ | ✅ | ✅ | -| ARMv7 (32-bit) | ✅ | ❌ | ❌ | -| RISC-V (64-bit) | ✅ | ❌ | ❌ | -| ppc64le | ✅ | ❌ | ❌ | -| s390x | ✅ | ❌ | ❌ | +| | Linux | MacOS | Windows | OpenBSD | FreeBSD | +| --- | --- | --- | --- | --- | --- | +| x86 (64-bit) | ✅ | ✅ | ✅ | ✅ | ✅ | +| ARM (64-bit) | ✅ | ✅ | ✅ | ✅ | ✅ | +| ARMv7 (32-bit) | ✅ | ❌ | ❌ | ❌ | ❌ | +| RISC-V (64-bit) | ✅ | ❌ | ❌ | ❌ | ❌ | +| ppc64le | ✅ | ❌ | ❌ | ❌ | ❌ | +| s390x | ✅ | ❌ | ❌ | ❌ | ❌ | ## Community diff --git a/make/buf/scripts/release.bash b/make/buf/scripts/release.bash index 091d362f11..37704a7ec9 100644 --- a/make/buf/scripts/release.bash +++ b/make/buf/scripts/release.bash @@ -18,6 +18,8 @@ goos() { Darwin) echo darwin ;; Linux) echo linux ;; Windows) echo windows ;; + OpenBSD) echo openbsd ;; + FreeBSD) echo freebsd ;; *) echo "unsupported"; return 1 ;; esac } @@ -86,7 +88,7 @@ rm -rf "${RELEASE_DIR}" mkdir -p "${RELEASE_DIR}" cd "${RELEASE_DIR}" -for os in Darwin Linux Windows; do +for os in Darwin Linux Windows OpenBSD FreeBSD; do for arch in x86_64 riscv64 arm64 armv7 ppc64le s390x; do # our goal is to have the binaries be suffixed with $(uname -s)-$(uname -m) # on mac, this is arm64, on linux, this is aarch64, for historical reasons @@ -119,7 +121,7 @@ for os in Darwin Linux Windows; do done done -for os in Darwin Linux Windows; do +for os in Darwin Linux Windows OpenBSD FreeBSD; do for arch in x86_64 riscv64 arm64 armv7 ppc64le s390x; do if [[ ! "${arch}" =~ x86_64|arm64 ]] && [ "${os}" != "Linux" ]; then continue @@ -129,7 +131,7 @@ for os in Darwin Linux Windows; do fi dir="${os}/${arch}/${BASE_NAME}" cp -R "${DIR}/LICENSE" "${dir}/LICENSE" - if [ "${os}" == "Darwin" ] || [ "${os}" == "Linux" ]; then + if [ "${os}" == "Darwin" ] || [ "${os}" == "Linux" ] || [ "${os}" == "OpenBSD" ] || [ "${os}" == "FreeBSD" ]; then mkdir -p "${dir}/etc/bash_completion.d" mkdir -p "${dir}/share/fish/vendor_completions.d" mkdir -p "${dir}/share/zsh/site-functions" @@ -142,7 +144,7 @@ for os in Darwin Linux Windows; do done done -for os in Darwin Linux; do +for os in Darwin Linux OpenBSD FreeBSD; do for arch in x86_64 riscv64 arm64 armv7 ppc64le s390x; do if [[ ! "${arch}" =~ x86_64|arm64 ]] && [ "${os}" != "Linux" ]; then continue