pre-push check fails on macOS trying to use a Linux jq binary
Author: akamathdevCreated Aug 15, 2026Updated Sep 18, 2026
Labelsbugarea/macoslinting
Title: pre-push check fails on macOS trying to use a Linux jq binary
Description:
The ./ci/do_ci.sh check_proto_format script on macOS is attempting to use a Linux jq which fails for obvious reasons.
Repro steps:
- Fresh clone of
envoyproxy/envoyon a macOS Apple Silicon host - Setup git hooks as documented via
./support/bootstrap - Create a branch and push a dummy commit
Logs:
akamath@macbook-pro envoy % ./ci/do_ci.sh check_proto_format
ENVOY_SRCDIR=/Users/akamath/Documents/dev/envoy
ENVOY_BUILD_TARGET=//source/exe:envoy-static
ENVOY_BUILD_ARCH=arm64
BUILD_DIR not set - defaulting to ~/.cache/envoy-bazel
Setting test_tmpdir to /Users/akamath/.cache/envoy-bazel/tmp.
building for arm64
clang toolchain configured: clang
Check proto format ...
INFO: Analyzed target //tools/proto_format:proto_sync (847 packages loaded, 19110 targets configured).
ERROR: /Users/akamath/Documents/dev/envoy/tools/proto_format/BUILD:44:3: Jq tools/proto_format/proto_targets.json [for tool] failed: (Exit 126): bash failed: error executing Jq command (from target //tools/proto_format:proto_targets)
(cd /Users/akamath/.cache/envoy-bazel/bazel_root/base/sandbox/darwin-sandbox/8/execroot/envoy && \
exec env - \
/bin/bash -c 'external/jq_linux_arm64/jq -sR '\''
split("
") | map(select(length>0))
'\'' '\''bazel-out/darwin_arm64-opt-exec-ST-c559125b5957/bin/tools/proto_format/active_proto_targets_txt.json'\'' '\''bazel-out/darwin_arm64-opt-exec-ST-c559125b5957/bin/tools/proto_format/frozen_proto_targets_txt.json'\'' > bazel-out/darwin_arm64-opt-exec-ST-c559125b5957/bin/tools/proto_format/proto_targets.json')
# Configuration: f3a171bc8331aee48b7d20e4e861346c252fd6f55138fdbb3d96cca93b1894da
# Execution platform: //bazel/platforms/rbe:linux_arm64
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
/bin/bash: external/jq_linux_arm64/jq: cannot execute binary file
Target //tools/proto_format:proto_sync failed to build
INFO: Elapsed time: 0.965s, Critical Path: 0.45s
INFO: 28 processes: 482 action cache hit, 25 internal, 3 darwin-sandbox.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target
akamath@macbook-pro envoy %Source: envoyproxy/envoy