Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run scheduled benchmark test on self-hosted runner #43

Merged
merged 1 commit into from
Apr 7, 2022

Conversation

gyohuangxin
Copy link
Member

@gyohuangxin gyohuangxin commented Mar 26, 2022

Description

This PR fixes #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

  • Yes, I signed my commits.

@gyohuangxin
Copy link
Member Author

This PR also fixed #21, the names of test profile, machines, and runners will not contain .yaml

@gyohuangxin
Copy link
Member Author

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

Signed-off-by: Huang Xin <xin1.huang@intel.com>
@gyohuangxin gyohuangxin force-pushed the scheduled-benchmark branch from 49d2178 to ea44022 Compare March 28, 2022 01:15
Copy link
Contributor

@hershd23 hershd23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

runs-on: ubuntu-latest
if: ${{ github.event_name == 'schedule' }}
strategy:
fail-fast: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason for this

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When jobs.<job_id>.strategy.fail-fast is set to true, GitHub cancels all in-progress jobs if any matrix job fails. Default: true
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast
Obviously, all tasks run in parallel and should not affect each other.

@gyohuangxin
Copy link
Member Author

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.

Copy link
Contributor

@hershd23 hershd23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@gyohuangxin gyohuangxin requested a review from leecalcote March 31, 2022 05:28
@leecalcote leecalcote merged commit 60b1c03 into layer5io:self-hosted Apr 7, 2022
@leecalcote
Copy link
Member

Excellent. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants