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

Chad Dombrova commented on BEAM-8213:
-------------------------------------

I should also mention I'm fine with lumping the IT jobs in with their 
respective preCommitPy* jobs, if we want to reduce the total number of jenkins 
jobs. So the final list of jobs/tasks would be:

{code}
pythonPreCommit()
  dependsOn ":sdks:python:test-suites:tox:py2:preCommitPy2"
    dependsOn "testPy2Cython"
    dependsOn "testPython2"
    dependsOn "testPy2Gcp"
    dependsOn ":sdks:python:test-suites:dataflow:py2:preCommitIT"
  dependsOn ":sdks:python:test-suites:tox:py35:preCommitPy35"
    dependsOn "testPython35"
    dependsOn "testPy35Gcp"
    dependsOn "testPy35Cython"
  dependsOn ":sdks:python:test-suites:tox:py36:preCommitPy36"
    dependsOn "testPython36"
    dependsOn "testPy36Gcp"
    dependsOn "testPy36Cython"
  dependsOn ":sdks:python:test-suites:tox:py37:preCommitPy37"
    dependsOn "testPython37"
    dependsOn "testPy37Gcp"
    dependsOn "testPy37Cython"
    dependsOn ":sdks:python:test-suites:dataflow:py37:preCommitIT"
  dependsOn ":sdks:python:test-suites:tox:preCommitLint"
    dependsOn ":sdks:python:test-suites:tox:py2:lint"
    dependsOn ":sdks:python:test-suites:tox:py2:docs"
    dependsOn ":sdks:python:test-suites:tox:py35:lint"
{code}

> 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
>
> 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.2#803003)

Reply via email to