0chain / 0chain/system_test

Split CLI tests into smaller suite, run in parallel

Open
#828 0 comments 0 reactions 0 assignees View on GitHub
enhancement post-mainnet
Dominant language
Go
Stars
8
Forks
6
PR merge metrics
No merged PRs in 30d

Description

Today a full run takes 1h45m.
This is mostly due to all tests running in a single go process, with parallel limited to the number of CPU cores.
If we split this monolith into 10+ test suites, running each suite as it's own process we should see a dramatic speed improvement.
We would also be able to target re-runs instead of needing to re-run all suites if a single test fails.

Investigate how we could best do this.
Github actions may be a limiting factor - could Jenkins help here?

Contributor guide

No contributing guide indexed for this repository

Research direction

Look at the existing CLI test suite structure to understand how tests are organized. Investigate Go's testing tools for splitting suites and parallel execution. Examine the current GitHub Actions workflow and consider Jenkins integration for parallel process management. Determine the criteria for dividing tests into 10+ independent suites.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, go
Domain
ci-cd, testing, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.