group-runner

Crates.iogroup-runner
lib.rsgroup-runner
version0.1.3
created_at2024-01-22 11:18:25.978301+00
updated_at2025-06-09 10:30:15.097212+00
descriptionGroup Rust executable output in GitHub logs
homepage
repositoryhttps://github.com/smoelius/group-runner
max_upload_size
id1108673
size109,279
Samuel Moelius (smoelius)

documentation

README

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

Recommended usage with one Cargo command

  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.

Recommended usage with multiple Cargo commands

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'"
Commit count: 47

cargo fmt