ballerina-platform / ballerina-lang

The Ballerina Programming Language
https://ballerina.io/
Apache License 2.0
3.66k stars 751 forks source link

[Task]: Automate ballerina performance testing #43490

Open heshanpadmasiri opened 1 week ago

heshanpadmasiri commented 1 week ago

Description

Ideally we should be able to trigger a workflow in github that will run the performance tests in https://github.com/ballerina-platform/ballerina-performance and give us an report. For this we will need to do the fallowing,

Describe your task(s)

No response

Related area

-> CICD

Related issue(s) (optional)

No response

Suggested label(s) (optional)

No response

Suggested assignee(s) (optional)

No response

heshanpadmasiri commented 1 day ago

When we trigger a performance test using github action even in a self hosted runner we need to "orphan" the process that is running the test in order to avoid action time out killing it. However still gihub runner sends kill signal to all child processes when the action completes. Therefore I was unable to implement the self hosted runner approach. Instead I decided to do the fallowing

  1. In the VM we run a performance test server
  2. As part of the action we send a post request to the server which will trigger the performance test
  3. When the performance test has been completed server will create a pull request with the performance test results