Skip to content

release: prepare 0.3.0-rc.2 - #8

Merged
MrCry0 merged 4 commits into
mainfrom
ci/nextest-test-summary
Aug 14, 2026
Merged

release: prepare 0.3.0-rc.2#8
MrCry0 merged 4 commits into
mainfrom
ci/nextest-test-summary

Conversation

@MrCry0

@MrCry0 MrCry0 commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Summary

Prepares the 0.3.0-rc.2 release candidate, built on top of the
already-merged 0.2.0-rc.1 line, with browsable per-PR test results as
its headline change:

  • Switch the test job from plain cargo test to cargo-nextest, and
    write a per-OS job summary (pass/fail headline plus the full output
    in a collapsible section) so test results show up directly on the
    checks page instead of only in raw job logs. Doctests still run
    separately via cargo test --doc, since nextest does not run them.
  • Fix a bug found while verifying the above: the workflow's
    CARGO_TERM_COLOR: always was forcing ANSI color codes into the
    captured nextest output even though it's piped through tee, which
    silently broke the summary's grep for the headline pass/fail line
    on every run. Scoped CARGO_TERM_COLOR: never to just that step.
  • Bump the crate version to 0.3.0-rc.2 (crate version, RPM metadata
    override kept in sync, README status line).

Test plan

  • cargo fmt --check, cargo clippy --all-targets -- -D warnings,
    cargo build --all-targets, cargo test all pass locally
  • Full CI matrix (lint, build & test x3 OSes, deb/rpm/msi/pkg
    packaging) passes on this branch
  • Confirmed via the job log that the summary now captures the
    plain-text Summary [...] N tests run: ... line with no stray
    ANSI codes, fixing the bug above

cargo test's plain output only shows up in raw job logs, which makes
per-PR test results tedious to find and impossible to link to. Switch
the test job to cargo-nextest, whose more structured output is easier
to summarize, and write a per-OS summary (headline pass/fail count
plus the full output, collapsed) to the job's step summary so results
are visible directly on the PR checks page without opening logs.

Doctests are not run by nextest, so they get their own explicit step.

Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
@MrCry0
MrCry0 force-pushed the ci/nextest-test-summary branch from 4321b55 to 5b2fa33 Compare August 14, 2026 09:30
The workflow sets CARGO_TERM_COLOR=always at the top level so build
logs stay colorized, but that also forces nextest to emit ANSI codes
into nextest-output.txt even though it is piped through tee rather
than a terminal. The "Write test summary" step's grep for the
headline Summary line matches against the start of the line, which
after colorizing is an escape sequence rather than "Summary", so it
silently fell back to the no-summary-found message on every run, and
the full output section would have shown raw escape codes instead of
readable text.

Override CARGO_TERM_COLOR to never for just this step so the captured
file stays plain text.

Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
@MrCry0
MrCry0 force-pushed the ci/nextest-test-summary branch 2 times, most recently from 74e3452 to 6e23553 Compare August 14, 2026 09:46
@MrCry0 MrCry0 changed the title ci: publish test results as a job summary release: prepare 0.3.0-rc.2 Aug 14, 2026
MrCry0 added 2 commits August 14, 2026 13:01
The "Write test summary" step ran unconditionally (if: always()), but
an unguarded `cat nextest-output.txt` meant that if an earlier step
(build, or installing cargo-nextest) failed before the file was ever
created, the summary step failed too, compounding the original
failure with a confusing second one instead of reporting it clearly.

Also upload nextest-output.txt as a build artifact per OS. Step
summaries have no read API, so there was no way to verify their
rendered content other than trusting the job logs; the artifact gives
an actual way to fetch and check the captured output programmatically,
and lets a human download the raw results directly from the run page.

Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
Ships the cargo-nextest job-summary work earlier in this PR as the
next release candidate. Bump the crate version and its RPM metadata
override in tandem, and reflect the new version in the README status
line; see the 0.2.0-rc.1 release commit for the full breakdown of how
each packaging format handles a SemVer pre-release identifier.

Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
@MrCry0
MrCry0 force-pushed the ci/nextest-test-summary branch from 6e23553 to cf162c9 Compare August 14, 2026 10:01
@MrCry0
MrCry0 merged commit 7a0e021 into main Aug 14, 2026
8 checks passed
@MrCry0 MrCry0 added the documentation Improvements or additions to documentation label Aug 14, 2026
@MrCry0
MrCry0 deleted the ci/nextest-test-summary branch September 1, 2026 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant