[ 
https://issues.apache.org/jira/browse/BEAM-8213?focusedWorklogId=319287&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-319287
 ]

ASF GitHub Bot logged work on BEAM-8213:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 27/Sep/19 00:05
            Start Date: 27/Sep/19 00:05
    Worklog Time Spent: 10m 
      Work Description: markflyhigh commented on issue #9642: [BEAM-8213] Split 
up monolithic python preCommit tests on jenkins
URL: https://github.com/apache/beam/pull/9642#issuecomment-535728199
 
 
   I suggest move this discussion to dev@ since we had similar discussions 
before and many other people also have insights to this problem. 
   
   For me, I don't see big benefit to do this split (1 job to 5 jobs). 
   - The painpoints you mentioned about pylint failure doesn't require this 
change. I agree with the approach to split pylint alone. Similar thing is done 
in Java (RAT) and we could move pylint into that as well (or put in a separate 
job).
   - For logging, Gradle scan organize logs by task and provide a pretty good 
UI to surface the error. The link is in Jenkins job page. Did you have a chance 
to explore that?
   - For efficiency, this split will **not shorten** the walltime of the 
precommit run (50 - 75mins), on the contrary, adding requirement of extra 4 job 
slots. Given that those are precommit and the run frequency is very likely high 
(triggered by each commit push and manual in PR), it's likely to increase the 
precommit queue time.
   - I agree with Daniel's proposal in 
https://github.com/apache/beam/pull/9642#issuecomment-535241993 if we want to 
proceed this change.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 319287)
    Time Spent: 9h 40m  (was: 9.5h)

> Run and report python tox tasks separately within Jenkins
> ---------------------------------------------------------
>
>                 Key: BEAM-8213
>                 URL: https://issues.apache.org/jira/browse/BEAM-8213
>             Project: Beam
>          Issue Type: Improvement
>          Components: build-system
>            Reporter: Chad Dombrova
>            Priority: Major
>          Time Spent: 9h 40m
>  Remaining Estimate: 0h
>
> As a python developer, the speed and comprehensibility of the jenkins 
> PreCommit job could be greatly improved.
> Here are some of the problems
> - when a lint job fails, it's not reported in the test results summary, so 
> even though the job is marked as failed, I see "Test Result (no failures)" 
> which is quite confusing
> - I have to wait for over an hour to discover the lint failed, which takes 
> about a minute to run on its own
> - The logs are a jumbled mess of all the different tasks running on top of 
> each other
> - The test results give no indication of which version of python they use.  I 
> click on Test results, then the test module, then the test class, then I see 
> 4 tests named the same thing.  I assume that the first is python 2.7, the 
> second is 3.5 and so on.   It takes 5 clicks and then reading the log output 
> to know which version of python a single error pertains to, then I need to 
> repeat for each failure.  This makes it very difficult to discover problems, 
> and deduce that they may have something to do with python version mismatches.
> I believe the solution to this is to split up the single monolithic python 
> PreCommit job into sub-jobs (possibly using a pipeline with steps).  This 
> would give us the following benefits:
> - sub job results should become available as they finish, so for example, 
> lint results should be available very early on
> - sub job results will be reported separately, and there will be a job for 
> each py2, py35, py36 and so on, so it will be clear when an error is related 
> to a particular python version
> - sub jobs without reports, like docs and lint, will have their own failure 
> status and logs, so when they fail it will be more obvious what went wrong.
> I'm happy to help out once I get some feedback on the desired way forward.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to