ci(github): also skip logs of broken test cases
PATCH 1/1 ci(github): also skip logs of broken test cases
From: Philippe Blain <[email protected]>
When a test fails in the GitHub Actions CI pipeline, we mark it up using special GitHub syntax so it stands out when looking at the run log. We also mark up "fixed" test cases, and skip passing tests since we want to concentrate on the failures.
The finalize_test_case_output function in test-lib-github-workflow-markup.sh which performs this markup is however missing a fourth case: "broken" tests, i.e. tests using 'test_expect_failure' to document a known bug. This leads to these "broken" tests appearing along with any failed tests, potentially confusing the reader who might not be aware that "broken" is the status for 'test_expect_failure' tests that indeed failed, and wondering what their commits "broke".
Also skip these "broken" tests so that only failures and fixed tests stand out.
---
ci(github): also skip logs of broken test cases
* An example of a run with failed tests appearing along with several "broken" tests:
https://github.com/phil-blain/git/actions/runs/7589303055/job/20673657755
* An example of a run with the same failures, but with this patch on top (no "broken" tests listed):
* https://github.com/phil-blain/git/actions/runs/7598605434/job/20694762480
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1649%2Fphil-blain%2Fgithub-ci-skip-broken-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1649/phil-blain/github-ci-skip-broken-v1
Pull-Request: https://github.com/git/git/pull/1649
t/test-lib-github-workflow-markup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
t/test-lib-github-workflow-markup.sh +2 -2
@@ -42,8 +42,8 @@ finalize_test_case_output () { fixed) echo >>$github_markup_output "::notice::fixed: $this_test.$test_count $1" ;; - ok) - # Exit without printing the "ok" tests + ok|broken) + # Exit without printing the "ok" or ""broken" tests return ;; esac
base-commit: e02ecfcc534e2021aae29077a958dd11c3897e4c
Signature · 1 line
gitgitgadget
Quoted 23 lines · Philippe Blain via GitGitGadget
From: Philippe Blain <[email protected]>
When a test fails in the GitHub Actions CI pipeline, we mark it up using special GitHub syntax so it stands out when looking at the run log. We also mark up "fixed" test cases, and skip passing tests since we want to concentrate on the failures.
The
finalize_test_case_outputfunction intest-lib-github-workflow-markup.shwhich performs this markup is however missing a fourth case: "broken" tests, i.e. tests using 'test_expect_failure' to document a known bug. This leads to these "broken" tests appearing along with any failed tests, potentially confusing the reader who might not be aware that "broken" is the status for 'test_expect_failure' tests that indeed failed, and wondering what their commits "broke".Also skip these "broken" tests so that only failures and fixed tests stand out.
Signed-off-by Philippe Blain <[email protected]>---
ci(github): also skip logs of broken test cases
Quoted 6 lines
* An example of a run with failed tests appearing along with several "broken" tests:
https://github.com/phil-blain/git/actions/runs/7589303055/job/20673657755
* An example of a run with the same failures, but with this patch on top (no "broken" tests listed):
* https://github.com/phil-blain/git/actions/runs/7598605434/job/20694762480
Thanks for making this change, the more focused logs are much nicer to read (and ostensibly a bit more performant as well).
Quoted 13 lines
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1649%2Fphil-blain%2Fgithub-ci-skip-broken-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1649/phil-blain/github-ci-skip-broken-v1
Pull-Request: https://github.com/git/git/pull/1649t/test-lib-github-workflow-markup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)t/test-lib-github-workflow-markup.sh +0
-0
t/test-lib-github-workflow-markup.sh finalize_test_case_output () { · line 46
Quoted 7 lines
t/test-lib-github-workflow-markup.sh +2
-2@@ -42,8 +42,8 @@ finalize_test_case_output () { fixed) echo >>$github_markup_output "::notice::fixed: $this_test.$test_count $1" ;; - ok) - # Exit without printing the "ok" tests + ok|broken) + # Exit without printing the "ok" or ""broken" tests
And the implementation itself is nice and simple. Looks good to me!
Quoted 5 lines
t/test-lib-github-workflow-markup.sh +0
-0return ;; esacbase-commit:
e02ecfcc534e2021aae29077a958dd11c3897e4c
Quoted 4 lines · Victoria Dye
Thanks for making this change, the more focused logs are much nicer to read (and ostensibly a bit more performant as well).
...
And the implementation itself is nice and simple. Looks good to me!
Thanks, both.
Queued.