Hi, Pulsar community Currently, Java tests consume significant CI resources. And it is not necessary to run all the tests for changes that are only on the C++ or python parts of the code. I have created a PR [0] to improve the CI by skipping unnecessary tests when there are only CPP/Python changes. This can significantly increase the efficiency of CI when testing the C++/Python part of the code.
After this PR gets merged, we will skip java unit tests, integration tests(the part only for java codes), and go function tests when there are only cpp/python changes. But the system test is not skipped because there are some python function codes in that test. Perhaps in the future, we can further optimize the system test to skip unnecessary matrix tests for PRs with only C++ changes. I have created a test PR in a separate repo to verify this PR. [1] And more detail in [2]. Please take a look and feel free to comment on it. Regarding the current Pulsar CI, I have a question. Why do we need to add doc_only check at each step when skipping code tests instead of just skipping the whole job for PR with only doc changes? [3] Is there any concern? Please let me know what you think. Thanks! [0] https://github.com/apache/pulsar/pull/16988 [1] https://github.com/RobertIndie/pulsar-ci-test/pull/1 [2] https://github.com/RobertIndie/pulsar-ci-test/actions/runs/2829525510 [3] https://github.com/apache/pulsar/blob/master/.github/workflows/pulsar-ci.yaml#L380 Best, Zike Yang