fix: avoid pipefail/SIGPIPE by using temp files for HTTP tests
Docker Build and Push / lint (pull_request) Successful in 11s
Docker Build and Push / build (pull_request) Successful in 1m2s
Docker Build and Push / test (pull_request) Failing after 44s
Docker Build and Push / push (pull_request) Has been skipped

This commit is contained in:
2026-06-08 20:45:01 +00:00
parent a552e414cc
commit 2c28c53bcc
+10 -4
View File
@@ -58,10 +58,16 @@ done
echo ""
echo "Test: GET /"
RESPONSE=$(curl -sf -D - "$BASE_URL/")
STATUS=$(echo "$RESPONSE" | head -1 | grep -oP '\d{3}')
CONTENT_TYPE=$(echo "$RESPONSE" | grep -i 'content-type' | tr -d '\r' | cut -d: -f2- | xargs)
BODY=$(echo "$RESPONSE" | sed -n '/^\r$/,$p' | tail -n +2)
TMPDIR=$(mktemp -d)
cleanup() {
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
rm -rf "$TMPDIR"
}
curl -sf -o "$TMPDIR/body" -D "$TMPDIR/headers" "$BASE_URL/"
STATUS=$(head -1 "$TMPDIR/headers" | grep -oP '\d{3}')
CONTENT_TYPE=$(grep -i 'content-type' "$TMPDIR/headers" | tr -d '\r' | cut -d: -f2- | xargs)
BODY=$(cat "$TMPDIR/body")
trap cleanup EXIT
assert "HTTP status is 200" "200" "$STATUS"
assert_match "Content-Type is text/html" "text/html" "$CONTENT_TYPE"