Repository navigation
[ci] Create annotations for failed ctests/gtests in pull requests - #23799
Open
muntasir-396 wants to merge 1 commit into
Open
muntasir-396 wants to merge 1 commit into
muntasir-396 wants to merge 1 commit into
Conversation
Fixes root-project#18475 Parse failed test blocks from CTest logs (LastTestsFailed.log and LastTest.log) and emit GitHub Actions ::error annotations mapping failing tests directly to the relevant source file and line (e.g. gtest failures, macro errors, and Python tracebacks in roottest). Exclude Windows to prevent duplicate annotations on test reruns.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #18475.
Problem
When tests fail in CI, developers must scroll through thousands of lines in the CI logs to locate the failure.
Solution
extract_ctest_annotationsandannotate_ctest_failuresinbuild_utils.pyto parse failed test logs (LastTestsFailed.logandLastTest.log).::errorannotations with exact file and line locations for:gtest) failuresroottestroottesttest_annotate_failures.pyand hooked them intotest-ci-scripts.yml.Checklist
python3 test_annotate_failures.pyandtest_null_build_check.py)