Skip to content

ci(action): improve GitHub Actions output UX#4337

Merged
ko3n1g merged 5 commits into
NVIDIA:mainfrom
ko3n1g:ko3n1g/ci/action-improvements
Apr 16, 2026
Merged

ci(action): improve GitHub Actions output UX#4337
ko3n1g merged 5 commits into
NVIDIA:mainfrom
ko3n1g:ko3n1g/ci/action-improvements

Conversation

@ko3n1g
Copy link
Copy Markdown
Contributor

@ko3n1g ko3n1g commented Apr 16, 2026

Summary

  • Launch info box: visible blue box (test case, platform, scope, container) printed outside any group before the test runs — no click needed to see what's executing
  • PASSED/FAILED result banner: green/red box at the end of Check result, always visible, backed by ::notice/::error annotations
  • Log excerpt: last 40 lines of the most recent .log file (excluding nccl_debug.log) shown outside any group
  • Fix ::endgroup:: ordering: was placed after exit $EXIT_CODE and never executed
  • Fix uv run coverage report -i: exits 1 when there is no coverage data → set -e aborted the step before the result banner printed; fixed with || true
  • Fix wrong log file: nccl_debug.log was the most recently modified file and was always picked; excluded explicitly
  • Group hygiene: remove ::group:: from Set timeout (1 line) and artifact-name collection (4 lines) — groups are reserved for setup tasks and verbose output only
  • Drop -x from Check result shell: result presentation doesn't benefit from xtrace; removes the need for { set +x; } workarounds

Example output (failure)

┌─ launching test ─────────────────────────────────────────────────────────┐
│  test case : tests/unit_tests/transformer/moe/**/*.py
│  platform  : dgx_h100   scope: mr-github-slim
│  container : ...
└──────────────────────────────────────────────────────────────────────────┘
▶ Logs  (collapsed)

📋 ── log excerpt ─── assets_dir/logs/output.log — last 40 lines ──────────
... actual test failure output ...
────────────────────────────────────────────────────────────────────────────

╔══════════════════════════════════════════════════════════════════════════╗
║                                                                          ║
║   ❌  FAILED  (exit code: 1)                                              ║
║   tests/unit_tests/transformer/moe/**/*.py                               ║
║                                                                          ║
╚══════════════════════════════════════════════════════════════════════════╝

🤖 Generated with Claude Code

ko3n1g and others added 5 commits April 16, 2026 12:33
- 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>
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Apr 16, 2026

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.

@ko3n1g
Copy link
Copy Markdown
Contributor Author

ko3n1g commented Apr 16, 2026

/ok to test

@svcnvidia-nemo-ci svcnvidia-nemo-ci added this to the Core 0.16 milestone Apr 16, 2026
@ko3n1g ko3n1g marked this pull request as ready for review April 16, 2026 12:35
@ko3n1g ko3n1g requested a review from a team as a code owner April 16, 2026 12:35
@svcnvidia-nemo-ci svcnvidia-nemo-ci requested a review from a team April 16, 2026 12:36
@svcnvidia-nemo-ci svcnvidia-nemo-ci added the Approved All necessary approvals have been made label Apr 16, 2026
@ko3n1g ko3n1g enabled auto-merge April 16, 2026 16:39
@ko3n1g ko3n1g added this pull request to the merge queue Apr 16, 2026
@svcnvidia-nemo-ci
Copy link
Copy Markdown

🔄 Merge queue validation started!

You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/24522315973

@svcnvidia-nemo-ci
Copy link
Copy Markdown

🔄 Merge queue validation started!

You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/24523255054

Merged via the queue into NVIDIA:main with commit 8681ebb Apr 16, 2026
68 of 72 checks passed
@ko3n1g ko3n1g deleted the ko3n1g/ci/action-improvements branch April 16, 2026 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved All necessary approvals have been made complexity: low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants