gotestyourself / gotestyourself/gotestsum

Improvements for `gotestsum tool ci-matrix`

Open
#287 0 comments 4 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
2.7k
Forks
171
PR merge metrics
No merged PRs in 30d

Description

#258 adds a new subcommand `gotestsum tool ci-matrix` for using the timing in `test2json` files to split all the packages into buckets of packages that can be run in parallel in github actions.

This issue is to track improvements to the new subcommand:
* [ ] Add support for splitting a single package into buckets of tests #277 - useful for integration test packages that contain many slow tests
* [ ] Support different output formats. The current format is optimized for integrating directly into github actions workflows. But the logic in this subcommand could also be used with other CI systems, or it might be integrate into existing tooling
* [ ] Document `gotestsum tool ci-matrix` in the README.
* [ ] Add a new `--jsonfile-timing=` flag to `gotestsum` as an alternative to `--jsonfile`. The file would include only the events for `run`, `pass`, and `fail` (no `output` events). This would significantly reduce the size of the files that need to be stored in artifacts and cache to calculate the partitioning of packages in future runs.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing `gotestsum tool ci-matrix` implementation introduced by #258 and the related single-package splitting issue #277. Review the README and current `--jsonfile` handling before separating the requested improvements. Done means the selected improvements are implemented with suitable output and timing-file behavior, and the command is documented for its supported CI uses.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, go
Domain
ci-cd, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.