fix(build): remove pipefail-unsafe matchers

This commit is contained in:
2026-09-07 20:34:50 +05:00
parent 6c286d1ff5
commit bf10810cfc
+12 -5
View File
@@ -1005,15 +1005,22 @@ run_admin_login_acceptance() {
# #
# Проверяются КОМАНДЫ: объяснение, почему такой строки здесь больше нет, # Проверяются КОМАНДЫ: объяснение, почему такой строки здесь больше нет,
# обязано называть её по имени, поэтому текст вне ```-блоков не считается. # обязано называть её по имени, поэтому текст вне ```-блоков не считается.
local env_doc local env_doc fenced_code
while IFS= read -r env_doc; do while IFS= read -r env_doc; do
[ -n "$env_doc" ] || continue [ -n "$env_doc" ] || continue
if fenced_code_of "$env_doc" \ # fenced_code_of сначала обязан дочитать документ целиком. `grep -q` в
| grep -qE '(^|[;&|[:space:]])(source|\.)[[:space:]]+[^[:space:]]*(/etc/hy2xs/|hy2xs\.env|bootstrap-admin\.secret)'; then # pipeline под pipefail закрывал канал после первого совпадения и мог
# превратить найденную запрещённую команду в ложный PASS через SIGPIPE 141.
fenced_code="$(fenced_code_of "$env_doc")" \
|| fail "acceptance: не удалось прочитать fenced code из $env_doc"
if grep -qE \
'(^|[;&|[:space:]])(source|\.)[[:space:]]+[^[:space:]]*(/etc/hy2xs/|hy2xs\.env|bootstrap-admin\.secret)' \
<<<"$fenced_code"; then
fail "acceptance: $env_doc снова предлагает исполнить env-файл шеллом (source/.)" fail "acceptance: $env_doc снова предлагает исполнить env-файл шеллом (source/.)"
fi fi
if fenced_code_of "$env_doc" \ if grep -qE \
| grep -qE 'eval[[:space:]]+[^|]*(hy2xs\.env|bootstrap-admin\.secret)'; then 'eval[[:space:]]+[^|]*(hy2xs\.env|bootstrap-admin\.secret)' \
<<<"$fenced_code"; then
fail "acceptance: $env_doc снова предлагает eval над env-файлом" fail "acceptance: $env_doc снова предлагает eval над env-файлом"
fi fi
done <<EOF done <<EOF