Skip to content

smoelius/group-runner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Group Rust executable output in GitHub logs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages