Keep macOS native utilities unchanged around timeout bootstrap

Expose only the installed GNU gtimeout as timeout through a new runner-owned directory. Keep native BSD utilities on their original PATH so installing the missing dependency cannot silently change the other platform checks. The connected workflow test verifies the symlink identity and that the directory contains no other utilities.

Contract-Neutral: Narrow the native CI dependency PATH and its proof; no shipped installer or runtime contract changes.
Change-source: pulse-maintainer
This commit is contained in:
pulse-triage[bot]
2026-10-05 09:44:52 +01:00
parent 13f6d10798
commit 443faa53b6
2 changed files with 24 additions and 11 deletions
+6 -4
View File
@@ -90,10 +90,12 @@ jobs:
run: |
set -euo pipefail
brew install coreutils
coreutils_bin="$(brew --prefix coreutils)/libexec/gnubin"
test -x "$coreutils_bin/timeout"
"$coreutils_bin/timeout" --version | grep -q 'GNU coreutils'
printf '%s\n' "$coreutils_bin" >> "$GITHUB_PATH"
gnu_timeout="$(brew --prefix coreutils)/bin/gtimeout"
test -x "$gnu_timeout"
"$gnu_timeout" --version | grep -q 'GNU coreutils'
timeout_bin="$(mktemp -d "$RUNNER_TEMP/pulse-guidance-tools.XXXXXX")"
ln -s "$gnu_timeout" "$timeout_bin/timeout"
printf '%s\n' "$timeout_bin" >> "$GITHUB_PATH"
- name: Verify native Unix timeout prerequisite
if: matrix.unix