[ https://issues.apache.org/jira/browse/BEAM-3942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16419390#comment-16419390 ]
Łukasz Gajowy edited comment on BEAM-3942 at 3/29/18 5:05 PM: -------------------------------------------------------------- Sure, sorry for being so laconic. This command runs perfkit with all the command line arguments it needs. After that perfkit downloads beam repository, performs the "setup" phase (kubernetes and so on) and then, using the above mentioned arguments it, constructs *maven* commands to build beam and run the tests. Build is optional but still possible - "beamPrebuilt" flag turns it on/off. If we want to leave this flow as is, we need to modify this perfkit class to construct gradle commands instead of maven ones: [https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/blob/master/perfkitbenchmarker/beam_benchmark_helper.py]Please notice that the code you mentioned is only for running ITs manually. Jenkins jobs run Perfkit directly: [https://github.com/apache/beam/blob/397688a62b1f9f0f9840a43ed4ad1a59ba77b981/.test-infra/jenkins/common_job_properties.groovy#L311] As for modifying perfkit - I see two ways of doing this: 1. Fully drop maven and use gradle instead at once. 2. Add logic to perfkit to support both maven and gradle for some time. This is in case of obstacles preventing us from migrating to gradle in one day but will take more time and energy. Also, please note that for both ways, Perfkit needs to "know" what gradle command to construct to run the tests. This is why I planned to start with submitting PR to beam and then modify perfkit accordingly. WDYT of all this? was (Author: łukaszg): Sure, sorry for being so laconic. This command runs perfkit with all the command line arguments it needs. After that perfkit downloads beam repository, performs the "setup" phase (kubernetes and so on) and then, using the above mentioned arguments it, constructs *maven* commands to build beam and run the tests. Build is optional but still possible - "beamPrebuilt" flag turns it on/off. If we want to leave this flow as is, we need to modify this perfkit class to construct gradle commands instead of maven ones: [https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/blob/master/perfkitbenchmarker/beam_benchmark_helper.py ]Please notice that the code you mentioned is only for running ITs manually. Jenkins jobs run Perfkit directly: [https://github.com/apache/beam/blob/397688a62b1f9f0f9840a43ed4ad1a59ba77b981/.test-infra/jenkins/common_job_properties.groovy#L311] As for modifying perfkit - I see two ways of doing this: 1. Fully drop maven and use gradle instead at once. 2. Add logic to perfkit to support both maven and gradle for some time. This is in case of obstacles preventing us from migrating to gradle in one day but will take more time and energy. Also, please note that for both ways, Perfkit needs to "know" what gradle command to construct to run the tests. This is why I planned to start with submitting PR to beam and then modify perfkit accordingly. WDYT of all this? > Update performance testing framework to use Gradle. > --------------------------------------------------- > > Key: BEAM-3942 > URL: https://issues.apache.org/jira/browse/BEAM-3942 > Project: Beam > Issue Type: Sub-task > Components: testing > Reporter: Chamikara Jayalath > Assignee: Łukasz Gajowy > Priority: Major > > This requires performing updates to PerfKitBenchmarker and Beam so that we > can execute performance tests using Gradle. -- This message was sent by Atlassian JIRA (v7.6.3#76005)