4 releases

Uses new Rust 2024

0.1.3 Jun 9, 2025
0.1.2 Apr 17, 2024
0.1.1 Jan 24, 2024
0.1.0 Jan 22, 2024

#225 in Testing

Download history 206/week @ 2025-10-21 181/week @ 2025-10-28 69/week @ 2025-11-04 85/week @ 2025-11-11 34/week @ 2025-11-18 44/week @ 2025-11-25 7/week @ 2025-12-02 108/week @ 2025-12-09 53/week @ 2025-12-16 2/week @ 2025-12-23 6/week @ 2026-01-06 5/week @ 2026-01-13 18/week @ 2026-01-27 26/week @ 2026-02-03

54 downloads per month

MIT/Apache

89KB

group-runner

Group Rust executable output in GitHub logs

group-runner is useful, e.g., when you have lots of integration tests and seeing their output concatenated can be overwhelming.

Note: When designing your testsuite, be sure to consider @matklad's excellent blogpost, Delete Cargo Integration Tests.

Example group-runner output

  1. In your GitHub workflow, install group-runner:

    steps:
      - name: Install group-runner
        run: cargo install group-runner
    
  2. Pass the following option to cargo run, cargo test, or cargo bench:

    --config "target.'cfg(all())'.runner = 'group-runner'"
    

    Example:

    steps:
      - name: Test
        run: cargo test --config "target.'cfg(all())'.runner = 'group-runner'"
    

    See The Cargo Book for more information.

Like above, however, we recommend storing the configuration in an environment variable. Example:

env:
  GROUP_RUNNER: target.'cfg(all())'.runner = 'group-runner'
steps:
  - name: Test foo
    run: cargo test --package foo --config "$GROUP_RUNNER"
  - name: Test bar
    run: cargo test --package bar --config "$GROUP_RUNNER"

Notes

To avoid mixing build output with test output, we recommend building tests in a separate step prior to running them. Example:

steps:
  - name: Build
    run: cargo test --no-run
  - name: Test
    run: cargo test --config "target.'cfg(all())'.runner = 'group-runner'"

No runtime deps