mirror of
https://mau.dev/maunium/synapse.git
synced 2024-11-15 14:32:30 +01:00
Sort failing jobs in Complement CI to the top of the logs to make them easier to read. (#13057)
This commit is contained in:
parent
de334ac183
commit
e12ff697a4
3 changed files with 104 additions and 0 deletions
93
.ci/complement_package.gotpl
Normal file
93
.ci/complement_package.gotpl
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
{{- /*gotype: github.com/haveyoudebuggedit/gotestfmt/parser.Package*/ -}}
|
||||||
|
{{- /*
|
||||||
|
This template contains the format for an individual package. GitHub actions does not currently support nested groups so
|
||||||
|
we are creating a stylized header for each package.
|
||||||
|
|
||||||
|
This template is based on https://github.com/haveyoudebuggedit/gotestfmt/blob/f179b0e462a9dcf7101515d87eec4e4d7e58b92a/.gotestfmt/github/package.gotpl
|
||||||
|
which is under the Unlicense licence.
|
||||||
|
*/ -}}
|
||||||
|
{{- $settings := .Settings -}}
|
||||||
|
{{- if and (or (not $settings.HideSuccessfulPackages) (ne .Result "PASS")) (or (not $settings.HideEmptyPackages) (ne .Result "SKIP") (ne (len .TestCases) 0)) -}}
|
||||||
|
{{- if eq .Result "PASS" -}}
|
||||||
|
{{ "\033" }}[0;32m
|
||||||
|
{{- else if eq .Result "SKIP" -}}
|
||||||
|
{{ "\033" }}[0;33m
|
||||||
|
{{- else -}}
|
||||||
|
{{ "\033" }}[0;31m
|
||||||
|
{{- end -}}
|
||||||
|
📦 {{ .Name }}{{- "\033" }}[0m
|
||||||
|
{{- with .Coverage -}}
|
||||||
|
{{- "\033" -}}[0;37m ({{ . }}% coverage){{- "\033" -}}[0m
|
||||||
|
{{- end -}}
|
||||||
|
{{- "\n" -}}
|
||||||
|
{{- with .Reason -}}
|
||||||
|
{{- " " -}}🛑 {{ . -}}{{- "\n" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- with .Output -}}
|
||||||
|
{{- . -}}{{- "\n" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- with .TestCases -}}
|
||||||
|
{{- /* Failing tests are first */ -}}
|
||||||
|
{{- range . -}}
|
||||||
|
{{- if and (ne .Result "PASS") (ne .Result "SKIP") -}}
|
||||||
|
::group::{{ "\033" }}[0;31m❌{{ " " }}{{- .Name -}}
|
||||||
|
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
|
||||||
|
{{- with .Coverage -}}
|
||||||
|
, coverage: {{ . }}%
|
||||||
|
{{- end -}})
|
||||||
|
{{- "\033" -}}[0m
|
||||||
|
{{- "\n" -}}
|
||||||
|
|
||||||
|
{{- with .Output -}}
|
||||||
|
{{- formatTestOutput . $settings -}}
|
||||||
|
{{- "\n" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
::endgroup::{{- "\n" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{- /* Then skipped tests are second */ -}}
|
||||||
|
{{- range . -}}
|
||||||
|
{{- if eq .Result "SKIP" -}}
|
||||||
|
::group::{{ "\033" }}[0;33m🚧{{ " " }}{{- .Name -}}
|
||||||
|
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
|
||||||
|
{{- with .Coverage -}}
|
||||||
|
, coverage: {{ . }}%
|
||||||
|
{{- end -}})
|
||||||
|
{{- "\033" -}}[0m
|
||||||
|
{{- "\n" -}}
|
||||||
|
|
||||||
|
{{- with .Output -}}
|
||||||
|
{{- formatTestOutput . $settings -}}
|
||||||
|
{{- "\n" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
::endgroup::{{- "\n" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{- /* Then passing tests are last */ -}}
|
||||||
|
{{- range . -}}
|
||||||
|
{{- if eq .Result "PASS" -}}
|
||||||
|
::group::{{ "\033" }}[0;32m✅{{ " " }}{{- .Name -}}
|
||||||
|
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
|
||||||
|
{{- with .Coverage -}}
|
||||||
|
, coverage: {{ . }}%
|
||||||
|
{{- end -}})
|
||||||
|
{{- "\033" -}}[0m
|
||||||
|
{{- "\n" -}}
|
||||||
|
|
||||||
|
{{- with .Output -}}
|
||||||
|
{{- formatTestOutput . $settings -}}
|
||||||
|
{{- "\n" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
::endgroup::{{- "\n" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- "\n" -}}
|
||||||
|
{{- end -}}
|
10
.github/workflows/tests.yml
vendored
10
.github/workflows/tests.yml
vendored
|
@ -348,6 +348,11 @@ jobs:
|
||||||
with:
|
with:
|
||||||
path: synapse
|
path: synapse
|
||||||
|
|
||||||
|
- name: "Install custom gotestfmt template"
|
||||||
|
run: |
|
||||||
|
mkdir .gotestfmt/github -p
|
||||||
|
cp synapse/.ci/complement_package.gotpl .gotestfmt/github/package.gotpl
|
||||||
|
|
||||||
# Attempt to check out the same branch of Complement as the PR. If it
|
# Attempt to check out the same branch of Complement as the PR. If it
|
||||||
# doesn't exist, fallback to HEAD.
|
# doesn't exist, fallback to HEAD.
|
||||||
- name: Checkout complement
|
- name: Checkout complement
|
||||||
|
@ -389,6 +394,11 @@ jobs:
|
||||||
with:
|
with:
|
||||||
path: synapse
|
path: synapse
|
||||||
|
|
||||||
|
- name: "Install custom gotestfmt template"
|
||||||
|
run: |
|
||||||
|
mkdir .gotestfmt/github -p
|
||||||
|
cp synapse/.ci/complement_package.gotpl .gotestfmt/github/package.gotpl
|
||||||
|
|
||||||
# Attempt to check out the same branch of Complement as the PR. If it
|
# Attempt to check out the same branch of Complement as the PR. If it
|
||||||
# doesn't exist, fallback to HEAD.
|
# doesn't exist, fallback to HEAD.
|
||||||
- name: Checkout complement
|
- name: Checkout complement
|
||||||
|
|
1
changelog.d/13057.misc
Normal file
1
changelog.d/13057.misc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Make Complement CI logs easier to read.
|
Loading…
Reference in a new issue