layer5io / meshery-smp-action

GitHub Action for pipelining microservices and Kubernetes performance testing with Meshery
https://layer5.io/projects/nighthawk
Apache License 2.0
27 stars 21 forks source link

Run scheduled benchmark test on self-hosted runner #43

Closed gyohuangxin closed 2 years ago

gyohuangxin commented 2 years ago

Description

This PR fixes https://github.com/layer5io/meshery-smp-action/issues/38, implements running scheduled benchmark test on self-hosted runner.

There are two method Scheduled benchmarking test can be triggered: Manual test: we can trigger the test by giving specific test configurations (load-test, soak-test), then the matrix will be tested. Scheduled test: the matrix test will run everyday.

There are three steps for scheduled benchmarking test like configurable benchmarking test:

  1. Create CNCF CIL machines and register them as github self-hosted runners
  2. Install Kubernetes, Service mesh and meshery. Then run benchmarking tests.
  3. Destroy machines and delete self-hosted runners. Workflows: image

Github self-hosted runners: image CNCF CIL machines: image

Notes for Reviewers

Signed commits

gyohuangxin commented 2 years ago

This PR also fixed https://github.com/layer5io/meshery-smp-action/issues/21, the names of test profile, machines, and runners will not contain .yaml

gyohuangxin commented 2 years ago

@hershd23 @navendu-pottekkat @leecalcote Can you review and give any comments? Thanks.

gyohuangxin commented 2 years ago

Great work @gyohuangxin. I have made one comment.

I have one more thing to ask, the manual and scheduled runs reuse almost all the code, what is the reason for having another copy entirely for scheduled? Is there any difference in logic that I am unable to see?

Thanks for your comments, the matrixs are different between manual and scheduled runs. And I think it's hard to reuse codes from anyone of them because the event types are also different.

leecalcote commented 2 years ago

Excellent. 😄