group-runner 0.1.3

Group Rust executable output in GitHub logs
group-runner-0.1.3 is not a library.

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'"