Fix CI benchmark script to properly urlencode arguments

This commit is contained in:
Tim Wojtulewicz 2023-01-23 13:47:09 -07:00
parent a82f743bcc
commit b522f6ea08

View file

@ -35,14 +35,24 @@ TARGET="https://${ZEEK_BENCHMARK_HOST}:${ZEEK_BENCHMARK_PORT}${ZEEK_BENCHMARK_EN
set +e
# Make a request to the benchmark host.
RESULTS=$(curl -sS --stderr - --fail --insecure -X POST -H "Zeek-HMAC: ${HMAC_DIGEST}" -H "Zeek-HMAC-Timestamp: ${TIMESTAMP}" "${TARGET}?branch=${CIRRUS_BRANCH}&build=${BUILD_URL}&build_hash=${BUILD_HASH}&commit=${CIRRUS_CHANGE_IN_REPO}")
curl -sS -G --stderr - --fail --insecure -X POST \
-o "/zeek/benchmark-${TIMESTAMP}.log" \
-H "Zeek-HMAC: ${HMAC_DIGEST}" \
-H "Zeek-HMAC-Timestamp: ${TIMESTAMP}" \
--data-urlencode branch=${CIRRUS_BRANCH} \
--data-urlencode build=${BUILD_URL} \
--data-urlencode build_hash=${BUILD_HASH} \
--data-urlencode commit=${CIRRUS_CHANGE_IN_REPO} \
"${TARGET}"
STATUS=$?
# If we got a bad status back from the host, we want to make sure to mask the host
# and port from the output.
if [ $STATUS -ne 0 ]; then
RESULTS=$(echo "${RESULTS}" | sed "s/${ZEEK_BENCHMARK_HOST}/<secret>/g" | sed "s/:${ZEEK_BENCHMARK_PORT}/:<secret>/g")
cat /zeek/benchmark-${TIMESTAMP}.log | sed "s/${ZEEK_BENCHMARK_HOST}/<secret>/g" | sed "s/:${ZEEK_BENCHMARK_PORT}/:<secret>/g"
else
cat /zeek/benchmark-${TIMESTAMP}.log
fi
echo "$RESULTS"
exit $STATUS