Skip to content

ci: quiet CI failure logs - #2852

Merged
ericksoa merged 2 commits into
mainfrom
ci/quieter-failure-logs
May 1, 2026
Merged

ci: quiet CI failure logs#2852
ericksoa merged 2 commits into
mainfrom
ci/quieter-failure-logs

Conversation

@cv

@cv cv commented May 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

Quiet CI test output so failures are easier to find in GitHub Actions logs. This switches CI Vitest runs to GitHub annotations, suppresses passing-test chatter, and trims coverage output to summaries.

Changes

  • Configure Vitest to use GitHub Actions annotations with silent output in CI.
  • Replace verbose coverage tables with compact coverage summaries in shared prek test hooks.
  • Stop forcing the Brev E2E workflow to use the verbose Vitest reporter.
  • Retry transient WSL Ubuntu install failures and clean up partial registrations before retrying.
  • Pipe expected CLI subprocess stderr in tests so intentional error output does not leak into passing CI logs.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Verification

  • npx prek run --all-files passes
  • npm test passes
  • Tests added or updated for new or changed behavior
  • No secrets, API keys, or credentials committed
  • Docs updated for user-facing behavior changes
  • make docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

AI Disclosure

  • AI-assisted — tool: Pi coding agent

Signed-off-by: Carlos Villela cvillela@nvidia.com

Summary by CodeRabbit

  • Chores

    • Standardized test reporting and coverage output formats across CI, local hooks, and test runs for clearer, more consistent test feedback.
    • Adjusted test execution behavior to produce more reliable and appropriately-verbose output in CI and developer environments.
  • Bug Fixes

    • Improved CI WSL installation step with retry and validation logic to reduce intermittent setup failures.

Signed-off-by: Carlos Villela <cvillela@nvidia.com>
@cv cv self-assigned this May 1, 2026
@coderabbitai

coderabbitai Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4a560ac2-6229-458f-8594-a2fdcc3a57e7

📥 Commits

Reviewing files that changed from the base of the PR and between 2e67d03 and 4a4d915.

📒 Files selected for processing (1)
  • .github/workflows/wsl-e2e.yaml

📝 Walkthrough

Walkthrough

Adjusts test reporting and CI behaviour: removes forced verbose reporter, switches plain text coverage reports to text-summary, adds CI/GitHub Actions detection in Vitest config, changes child-process stdio handling in CLI tests, and implements a retry/initialization loop for WSL distro installation in a workflow step.

Changes

Cohort / File(s) Summary
E2E Workflow
/.github/workflows/e2e-branch-validation.yaml
Removed explicit --reporter=verbose from the E2E Vitest run so Vitest’s default reporter is used.
WSL Workflow
/.github/workflows/wsl-e2e.yaml
Replaced single wsl --install attempt with a bounded retry loop that installs, conditionally first-launches the distro, probes availability (wsl -d ... -- echo ok), unregisters on partial failure, and aggregates errors after retries.
Pre-commit Hooks
.pre-commit-config.yaml
Changed Vitest coverage reporter from --coverage.reporter=text to --coverage.reporter=text-summary for test-cli and test-plugin hooks (keeps json-summary and existing check step).
Vitest Config
vitest.config.ts
Added CI/GitHub Actions detection: select Actions reporter when GITHUB_ACTIONS=true, set silent on CI, hide skipped tests in CI; changed coverage reporters to include text-summary alongside json-summary.
CLI Tests
test/cli.test.ts
Updated execSync usages (both runWithEnv path and direct execSync of nemohermes list --help) to pass stdio: "pipe" so child-process stdio is piped and captured.

Sequence Diagram(s)

sequenceDiagram
    participant Runner as GitHub Actions Runner
    participant Step as WSL Install Step (script)
    participant WSL as wsl.exe
    participant Distro as WSL Distro

    Runner->>Step: start "Ensure Ubuntu WSL exists"
    Step->>WSL: wsl --install <distro>
    alt install exits 0 and distro usable
        WSL-->>Step: exit 0
        Step->>WSL: wsl -d <distro> -- echo ok
        WSL-->>Step: "ok"
        Step-->>Runner: success
    else install fails or non-zero
        WSL-->>Step: non-zero
        Step->>WSL: wsl -d <distro> -- echo ok
        alt distro responds "ok"
            WSL-->>Step: "ok"
            Step-->>Runner: success
        else not usable
            Step->>WSL: wsl --unregister <distro>
            Step->>Step: wait (incremental backoff)
            Step->>WSL: retry install (loop)
            alt retries exhausted
                Step-->>Runner: fail with aggregated error
            end
        end
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 I hopped through CI and listened close,

Swapped verbose for summaries, tidy and verbose,
Pipes now carry each test's small song,
WSL retries until it’s strong,
A rabbit's cheer — the workflows hum along! 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'ci: quiet CI failure logs' directly aligns with the main objective of reducing CI noise and making failures easier to find in GitHub Actions logs.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/quieter-failure-logs

Review rate limit: 9/10 reviews remaining, refill in 6 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@cv
cv requested review from brandonpelfrey, ericksoa and jyaunches and removed request for jyaunches May 1, 2026 18:54
@cv cv added the v0.0.33 label May 1, 2026
Signed-off-by: Carlos Villela <cvillela@nvidia.com>

@ericksoa ericksoa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@ericksoa
ericksoa merged commit b0fb2ff into main May 1, 2026
16 of 17 checks passed
@prekshivyas
prekshivyas deleted the ci/quieter-failure-logs branch May 1, 2026 19:10
@wscurran wscurran added the chore Build, CI, dependency, or tooling maintenance label Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Build, CI, dependency, or tooling maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants