-
Notifications
You must be signed in to change notification settings - Fork 9
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
Added ability for NetSoakTest project to dump stats after a time dela… #15
base: development
Are you sure you want to change the base?
Conversation
…y. Modified jenkins job to automatically start ServerLauncher and run NetSoakTest project for 30 minutes before dumping stats. Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
Scripts/build/Jenkins/Jenkinsfile
Outdated
|
||
// Launch the project, which automatically starts the tests | ||
launch_command += "NetSoakTest.ServerLauncher --soak_runtime=1800000 --soak_mode=loopback --rhi=null" | ||
dir("${workspace}/${ENGINE_REPOSITORY_NAME}") { | ||
PlatformSh(launch_command, "Running NetSoakTest project") | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Build() is used to execute the command for each step in the pipe. For example, in the profile_vs2019_pipe it will run the command for profile_vs2019, test_cpu_profile_vs2019, etc. So wanted to check when is the desired time to launch netsoaktest in the pipe, so we can determine the best place to run this. Also wanted to check if the netsoaktest is meant to be launched for each platform?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm double-checking but I think this is the expectation for the various build flavors.
However, from my understanding this should only run on Windows for now. On Jenkins I don't see a split by platform though, is this job already running on multiple platforms?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, if it's meant to be ran on each build step on all platforms then this is the appropriate place for it. Since the project jobs utilize the engine-centric workflow, the actually job configs are pulled from the build_config.json files in the o3de repo.
This is the one for windows: https://github.com/o3de/o3de/blob/development/scripts/build/Platform/Windows/build_config.json
The jenkinsfile in this repo (o3de-netsoaktest) utilizes these configs to run build() for each platform. If we need to limit where NetSoakTest.ServerLauncher is launched we can setup a separate stage or alternatively leave it here then add a condition where its only launched for certain platforms.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was mistaken on this. It only supports the server launcher target and it should only run its tests against Windows / Linux server target. The rest of the platforms are just build checks.
So it sounds like we'll want to add a condition where it is only launched for certain platforms and targets. Is there any example of one of these conditions somewhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There something similar here: https://github.com/o3de/o3de/blob/development/scripts/build/Jenkins/Jenkinsfile#L588
Instead of parameters you would use platform and type. Platform names are generated from the folder names here: https://github.com/o3de/o3de/tree/development/scripts/build/Platform
Type is the targets listed here: https://github.com/o3de/o3de/blob/development/scripts/build/Platform/Windows/build_config.json (example using windows) Also the names of the targets are listed in the pipeline view: https://jenkins.build.o3de.org/blue/organizations/jenkins/o3de-netsoaktest/detail/development/6/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also groovy may throw a syntax error here. May need to replace += to = since this is the first time launch_command is being defined.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have now incorporated both of these points.
Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
- Move command into dir block to run in the correct workspace path - Avoid running NetSoakTest on validation job - Update path based on pipeline type Signed-off-by: brianherrera <[email protected]>
…y. Modified jenkins job to automatically start ServerLauncher and run NetSoakTest project for 30 minutes before dumping stats.
Signed-off-by: scspaldi [email protected]