ci(action): improve GitHub Actions output UX#4337
Merged
Merged
Conversation
- Fix ::endgroup:: ordering bug in "Run main script" — it was placed after `exit $EXIT_CODE` and never executed, leaving the group open - Restructure "Check result": artifact-name bookkeeping moves into a collapsible group; the log excerpt (last 40 lines of the most recent .log file) and the final ✅/❌ result banner are emitted outside any group so they are immediately visible without expanding a section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Before each test run, print a visible blue info box (test case, platform, scope, container) outside any collapsible group. Wrap the actual log output in a "Logs" group. In "Check result", frame the log excerpt with a cyan header/footer and render the final result as a bold green (PASSED) or red (FAILED) box — all outside any group so the outcome is immediately visible without expanding a section. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Groups should only wrap setup tasks or steps that produce a lot of output. "Set timeout" (one echo) and "Collect artifact names" (4 echo lines) are neither — remove their group wrappers so the values are always visible. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: oliver könig <okoenig@nvidia.com>
Wrap all ANSI-colored echo calls with { set +x; } 2>/dev/null ... { set -x; } 2>/dev/null
so bash -x does not print the raw escape-sequence strings before each
rendered line.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: oliver könig <okoenig@nvidia.com>
- Drop -x from shell: result presentation doesn't benefit from xtrace
and removes the need for all { set +x; } workarounds
- uv run coverage report -i → || true: the command exits 1 when there
is no coverage data (e.g. on test failure), which caused set -e to
abort the step before the result banner was printed
- Exclude nccl_debug.log from log file search: it was the most recently
modified file so it was always picked, hiding the actual test output
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: oliver könig <okoenig@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Contributor
Author
|
/ok to test |
kajalj22
approved these changes
Apr 16, 2026
|
🔄 Merge queue validation started! You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/24522315973 |
|
🔄 Merge queue validation started! You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/24523255054 |
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
Check result, always visible, backed by::notice/::errorannotations.logfile (excludingnccl_debug.log) shown outside any group::endgroup::ordering: was placed afterexit $EXIT_CODEand never executeduv run coverage report -i: exits 1 when there is no coverage data →set -eaborted the step before the result banner printed; fixed with|| truenccl_debug.logwas the most recently modified file and was always picked; excluded explicitly::group::fromSet timeout(1 line) and artifact-name collection (4 lines) — groups are reserved for setup tasks and verbose output only-xfromCheck resultshell: result presentation doesn't benefit from xtrace; removes the need for{ set +x; }workaroundsExample output (failure)
🤖 Generated with Claude Code