-
Notifications
You must be signed in to change notification settings - Fork 275
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
[META] After tests are complete there should be a test-run manifest that allows for finding all related test artifacts #1274
Comments
I like this. I would only call out that most of the runs should be against artifacts on ci.opensearch.org and thus any test results should contain complete HTTPs links that work. |
@ohltyler After the automation is running we will need something like this to make test results usable by everyone |
We would follow this approach for this issue. The idea of this approach is to augment our current python test workflow, so the manifest generated could be also retrieved if we are running the code base locally.
A sample
|
Currently I have the groovy library merged and the changes in our integ tests workflow PR pending. Once the PR is merged, we would be able to have the one-in-all manifest including all details about each test-workflow. We could also update the auto cut issue to refer to the new |
Found a issue and I'm working on the fix.#3925 |
The test-report manifest is now onboarded and generated for each test run. The link to access this test-report manifest is attached in the autocut GitHub test issue. I will also add an instruction for how to use the test-report manifest to our build repo so everyone can be self-served on this. |
Closing this issue as this enhancement request is fulfilled. |
Problem
After integration tests are run there is alot of information on the standard out and a final summary message that looks like:
This is useful for humans, but harder for our automation systems to integrate with. If we are going to automatically file bugs or analyze test results there is critical information missing such as how to look up service logs, or test result logs.
Proposal 1: Create a test-run manifest / update component manifests
Rather than modify on this table based approach which is very useful for the happy path, I suggest we create a new test-run yml manifest. The existing component manifest files would be augmented to include the hierarchy of all files under them for deep diving.
test-run manifest contents:
component manifest content Existing implementation
test-run manifest located at https://{BASE_URL}/test-results/test-run-b30b804a1a3e494089b720544627dd2e.yml
component outcome manifest located at https://{BASE_URL}/test-results/b30b804a1a3e494089b720544627dd2e/integ-test/alerting/with-security/alerting.yml
Additional Considerations
Re-path test results
It would be useful to reorganize the existing output to be slightly more collapsed as well, removing the
test-results
folder from thecomponent/config-name/test-results
path and placing the results within thecomponent/config-name
folder path. We can look for other ways to make sure the data is very clear. There might be other opportunities to improve the 'browsing experience'Add correlating timestamps in stderr/stdout results
Not sure if this needs to be added as a wrapper of the console capturing code or if it would be better to change test.sh output from gradle to include these timestamps. This is critical for aligning service failures against test execution when there isn't a clear output from a test failure.
Action Items
base-path
feature to jenkins workflow to generate enhanced component yml from CI #3499The text was updated successfully, but these errors were encountered: