diff --git a/.ci/complement_package.gotpl b/.ci/complement_package.gotpl index e1625fd31fe4..d189fc9ac486 100644 --- a/.ci/complement_package.gotpl +++ b/.ci/complement_package.gotpl @@ -26,6 +26,19 @@ which is under the Unlicense licence. {{- with .Output -}} {{- . -}}{{- "\n" -}} {{- end -}} + + {{- /* Output an error marker if there are any failing tests, so GitHub will skip straight to them */ -}} + {{- $anyFailures := false -}} + {{- range .TestCases -}} + {{- if and (ne .Result "PASS") (ne .Result "SKIP") -}} + {{- $anyFailures = true -}} + {{- end -}} + {{- end -}} + {{- if $anyFailures -}} + ::error title=Test Failures::At least one test failed + {{- printf "\n" -}} + {{- end -}} + {{- with .TestCases -}} {{- /* Failing tests are first */ -}} {{- range . -}} diff --git a/changelog.d/13180.misc b/changelog.d/13180.misc new file mode 100644 index 000000000000..14609dc47c3b --- /dev/null +++ b/changelog.d/13180.misc @@ -0,0 +1 @@ +Jump directly to failure in `gotestfmt` output.