DO NOT MERGE: Test collapsible CI log sections and build diagnostics#5974
Draft
hjmjohnson wants to merge 3 commits intoInsightSoftwareConsortium:mainfrom
Draft
DO NOT MERGE: Test collapsible CI log sections and build diagnostics#5974hjmjohnson wants to merge 3 commits intoInsightSoftwareConsortium:mainfrom
hjmjohnson wants to merge 3 commits intoInsightSoftwareConsortium:mainfrom
Conversation
Replace -VV (extra verbose) with -V (verbose) in all CI pipeline invocations of `ctest -S`. This change applies to all 8 Azure DevOps pipeline YAML files and the GitHub Actions arm.yml workflow. Background: The -VV flag causes CTest to print the full stdout/stderr of every test, regardless of whether it passed or failed. With ITK's 3000+ tests, this generates hundreds of megabytes of CI log output, making it difficult to find the actual failure in a failing build. Every pipeline already sets the environment variable CTEST_OUTPUT_ON_FAILURE=1, which instructs CTest to print test output only when a test fails. However, this variable has been effectively dead code because -VV unconditionally prints all output, overriding the output-on-failure behavior. With this change: - -V (verbose) prints CTest progress: test names, pass/fail status, and timing — sufficient for monitoring build progress - CTEST_OUTPUT_ON_FAILURE=1 now takes effect, printing full test output only for tests that fail - CI logs are dramatically smaller and failures are easier to find Note: The CTEST_OUTPUT_ON_FAILURE environment variable works in both direct ctest invocations and ctest -S scripted/dashboard mode. The ctest_test() CMake command used internally by itk_common.cmake does not have an OUTPUT_ON_FAILURE keyword argument, but the environment variable is read by the CTest process regardless of invocation mode. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ctest_build() captures compiler diagnostics in Build.xml for CDash submission but does not print them to the CI log. With -V (instead of -VV), build output scrolls past quickly and warnings are easy to miss entirely. Add report_build_diagnostics.py which parses the <Warning> and <Error> elements from Build.xml and prints them in a clearly delimited section. Add a "Report build warnings and errors" step to every Azure DevOps and GitHub Actions pipeline, running after the build/test step with succeededOrFailed()/always() so diagnostics are reported even when the build fails. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Point all CI pipelines at hjmjohnson/ITK dash-board-github-ci-instrument-groupings branch instead of upstream dashboard to test collapsible CI log sections and build diagnostics reporting from PR InsightSoftwareConsortium#5973. This commit must NOT be merged — revert the dashboard clone URL before merging PR InsightSoftwareConsortium#5971. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 tasks
Member
Author
|
@blowekamp Personally, I am loving this new condensed output. I think it makes navigating the logs MUCH easier to find the important information. It is much less noisy.
NOTE: The PIxi builds do things differently, so they will look a little different. |
Member
|
That looks really good! The pixie build already seems to have the steps split, which should give a similar effect with out the additional markup. |
Member
|
Very nice!! |
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
hjmjohnson/ITKbranchdash-board-github-ci-instrument-groupingsinstead of upstreamdashboardreport_build_diagnostics.py)ci_report_build_diagnostics()from PR ENH: Add collapsible CI log sections for dashboard phases #5973What this tests
The fork's dashboard branch adds:
ci_section_start()/ci_section_end()which emit GitHub Actions::group::, Azure DevOps##[group], or GitLab CI ANSI section markersci_report_build_diagnostics()parsesBuild.xmlafterctest_build()and prints warnings/errors directly to the CI logDependencies
report_build_diagnostics.pyCI stepci_report_build_diagnostics()This PR must not be merged. The dashboard clone URL must be reverted to upstream before merging PR #5971. Close this PR after verifying CI output.
🤖 Generated with Claude Code