Conversation
- Create .config/nextest.toml with CI profile for JUnit output - Update CI workflow to use JUnit XML instead of experimental JSON - Add Python-based JUnit XML parsing for test badge generation - Add dorny/test-reporter for GitHub test annotations - Split test execution and badge generation into separate steps Co-authored-by: jamals86 <137282926+jamals86@users.noreply.github.com>
Co-authored-by: jamals86 <137282926+jamals86@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Replace cargo nextest output with JUnit XML reports
Replace nextest experimental JSON output with JUnit XML for CI test reporting
Feb 11, 2026
jamals86
approved these changes
Feb 11, 2026
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.
The CI test job fails because
NEXTEST_EXPERIMENTAL_LIBTEST_JSON=1produces compilation output instead of test results, causing badge generation to report 0 tests.Changes
Created
.config/nextest.tomlDefines
[profile.ci]with JUnit XML output:Updated
.github/workflows/ci.yml--message-format libtest-json-plusand grep/awk JSON parsing--profile ciflag to generate JUnit XML attarget/nextest/ci/junit.xmlxml.etree.ElementTreeto extract test countsdorny/test-reporter@v1for GitHub test annotationsThe new workflow generates reliable test badges and GitHub annotations from standard JUnit XML format instead of relying on experimental JSON output.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
get.nexte.st/usr/bin/curl curl -LsSf REDACTED(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
Problem
The CI workflow test job is failing because
cargo nextestis not producing validlibtest-json-plusoutput. The current workflow tries to parse JSON test results, but theresults.jsonfile only contains compilation output, not test results.Failing job: https://github.com/jamals86/KalamDB/actions/runs/21884719493/job/63176530872
Error:
Solution
Replace the current JSON-based approach with JUnit XML reports, which is the standard format for nextest. This provides:
Required Changes
1. Create nextest configuration file
Create
.config/nextest.toml:2. Update .github/workflows/ci.yml
Replace the test job (lines 131-241) with: