yorkie-team/yorkie

Reduce CI test time by optimizing task execution

hackerwins opened this issue · 1 comments

Description:

Currently, when a PR is opened, the CI process runs various tasks including Build and Integration Test, Benchmark, Sharding Test, Releasing Charts, and Publishing Docker Images.

  • Build and Integration Test: 8 mins
  • Benchmark: 5 mins
  • Sharding Test: 3 mins
  • Release Charts: 10 secs
  • Publish Docker Images: 7 mins

The integration Test takes to complete these tasks is 8 minutes.

To ensure that the testing process finishes within 10 minutes, it is necessary to optimize the tasks. Specifically, we should consider the following changes:

  • Rename "Sharding Test" to "Complex Test" to better reflect its purpose.
  • Move the "Tree Concurrency Test" from the Integration Test to the Complex Test.

These changes will help reduce the total test time and ensure that the testing process is completed within the required 10 minutes.

Why:

Currently, the integration test with the Tree Concurrency Test takes up most of the 8-minute test time, causing delays in the CI process. By optimizing the task execution and reducing the test time, we can improve the efficiency of our CI pipeline and ensure timely feedback on pull requests.

I really want this to be optimized. Integration test alone takes almost 4 mins to execute in my local machine(Mac M1 Pro).
Feeling stuck every time I run tests :(

Screenshot 2024-03-05 at 7 15 19 PM