fix(install-e2e): installer_supports lied under pipefail - buffer the probe
git show | grep -qF exits at grep's first match; install.sh is ~140KB with the flag strings in the first few KB, so git show takes SIGPIPE on its next write and the pipeline reports 141 under set -o pipefail. The probe answered NO for flags the ref HAS - timing-dependent, green without pipefail (every local check), red on the runner. It hid while a probe miss just meant omitting --skip-browser; the first probe where NO is a hard failure (--include-desktop) exposed it on its first CI leg. Buffer git show into a variable and grep the string: git always completes, grep judges bytes.
This commit is contained in:
@@ -155,8 +155,15 @@ INSTALL_DIR="$HERMES_HOME/hermes-agent"
|
||||
# install.sh rather than assuming this checkout's flag set: the point of the
|
||||
# matrix is to install releases from months back, whose installers predate
|
||||
# options we take for granted.
|
||||
#
|
||||
# Buffered through a variable, NOT `git show | grep -q`: under pipefail,
|
||||
# grep -q exits at the first match (install.sh is ~140KB, the flags appear
|
||||
# in the first few KB), git show takes SIGPIPE on its next write, and the
|
||||
# pipeline reports 141 -- the probe answers NO for a flag the ref HAS.
|
||||
installer_supports() {
|
||||
git -C "$REPO_ROOT" show "$1:scripts/install.sh" | grep -qF -- "$2"
|
||||
local text
|
||||
text="$(git -C "$REPO_ROOT" show "$1:scripts/install.sh")"
|
||||
grep -qF -- "$2" <<< "$text"
|
||||
}
|
||||
|
||||
run_installer() {
|
||||
|
||||
Reference in New Issue
Block a user