Merge pull request #21871 from edsantiago/logformatter-on-mac

CI: run logformatter on mac
This commit is contained in:
openshift-merge-bot[bot]
2024-02-29 10:06:49 +00:00
committed by GitHub
2 changed files with 37 additions and 1 deletions

View File

@ -821,10 +821,14 @@ podman_machine_mac_task:
# resize (~2min) causes test-timeout (90s default). Should
# tests deal with this internally?
test_script:
- make localmachine
- "contrib/cirrus/mac_runner.sh"
# This host is/was shared with potentially many other CI tasks.
# Ensure nothing is left running while waiting for the next task.
always:
# Required for `contrib/cirrus/logformatter` to work properly
html_artifacts:
path: ./*.html
type: text/html
task_cleanup_script: *mac_cleanup

32
contrib/cirrus/mac_runner.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/bash
#
# This script is what runs mac tests. It is invoked from .cirrus.yml
#
# Yep, some of this is adapted from runner.sh. We can't actually
# use that as a library, because Macintosh bash and awk lack
# features we need.
set -euo pipefail
# Name pattern for logformatter output file, derived from environment
function output_name() {
# .cirrus.yml defines this as a short readable string for web UI
std_name_fmt=$(sed -ne 's/^.*std_name_fmt \"\(.*\)\"/\1/p' <.cirrus.yml)
test -n "$std_name_fmt" || die "Could not grep 'std_name_fmt' from .cirrus.yml"
# Interpolate envariables. 'set -u' throws fatal if any are undefined
(
set -u
eval echo "$std_name_fmt" | tr ' ' '-'
)
}
function logformatter() {
# Mac awk barfs on this, syntax error
# awk --file "${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/timestamp.awk" \
# shellcheck disable=SC2154
"${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/logformatter" "$(output_name)"
}
make localmachine 2>&1 | logformatter