adoptium / infrastructure

This repo contains all information about machine maintenance.
Apache License 2.0
85 stars 101 forks source link

Ansible request for Lcov installation for Code Coverage Report #2322

Open LongyuZhang opened 2 years ago

LongyuZhang commented 2 years ago

To enable Code Coverage Report for openj9 (this issue), Lcov needs to be installed on x/p/z linux Jenkins machines.

Helpful links:

Thanks.

LongyuZhang commented 2 years ago

FYI @llxia @AdamBrousseau

AdamBrousseau commented 2 years ago

To clarify, as I understand it, there is no immediate need to install this on Adopt machines. It is however needed now on OpenJ9 farm machines. Since OpenJ9 uses the playbooks and Adopt will likely have a future need for this software, it makes sense to add the playbook at Adopt.

sxa commented 2 years ago

I'm not clear on why this needs to be installed on each machine as it seems to be a reporting tool and could therefore be run separately? Particularly since this is only an OpenJ9 tool I'm initially reluctant to add this into the default playbooks, particuarly since I don't believe it's going to be something that's standard in the operating system distributions.

LongyuZhang commented 2 years ago

For code coverage test, we plan to run it similarly as running normal tests (e.g. sanity.functional tests), but using a special sdk with instrumentation. Therefore, it will use Jenkins machines same as our normal weekly/nightly tests, including parallel tests on multiple Jenkins machines. As test reports needs to be generated and collected on each machine, so we need all jenkins machines running test to have lcov for it.

Currently we are starting with OpenJ9, as we have implemented adding instrumentation into openj9 build, but lcov is not limited to only work with openj9, it would also work with hotspot if hotspot has build with instrumentation. Thanks.

I'm not clear on why this needs to be installed on each machine as it seems to be a reporting tool and could therefore be run separately? Particularly since this is only an OpenJ9 tool I'm initially reluctant to add this into the default playbooks, particuarly since I don't believe it's going to be something that's standard in the operating system distributions.