hashar added a comment.

The tox envlist has:

  flake8
  flake8-py3
  flake8-docstrings-mandatory
  py26
  py27
  py34

Running all of them ends up taking 11 minutes IIRC. Potentially we could use 
detox <https://pypi.python.org/pypi/detox/> to have them run in parallel.

`python2.6` is no more available on Jessie. But we can keep a job running on 
Trusty where it is available.  And if we keep py26 split, we can well keep 
py27,py34 split.

What I found out is that tox supports a specific env `jenkins` which is to 
override setting when tox detects it runs under Jenkins (i.e.: when env 
variable `JENKINS_URL` is set).  We can probably abuse that feature to override 
`envlist` in Jenkins context and aggregate the lint/doc envs. So potentially:

`tox.ini`

  [tox]
  # Defaults env targets for developers
  envlist = flake8,flake8-py3,flake8-docstrings-mandatory,py26,py27,py34
  
  [testenv:jenkins]
  # Override default for Jenkins
  # The py26,py27,py34 run in their own individual jobs on WMF Jenkins
  envlist = flake8,flake8-py3,flake8-docstrings-mandatory,doc

And In Zuul:

   - name: pywikibot/core
     test:
  -    - tox-flake8
  -    - pywikibot-core-tox-flake8-py3-jessie
       - pywikibot-core-tox-flake8-docstrings  # non voting
  -    - pywikibot-core-tox-flake8-docstrings-mandatory
       - pywikibot-core-tox-nose
       - pywikibot-core-tox-nose34-jessie
  -    - tox-doc-jessie
  +    - tox-jessie  # runs envs from testenv::jenkins ie: 
flake8,flake8-py3,flake8-docstrings-mandatory,doc
     gate-and-submit:
  -    - tox-flake8
  -    - pywikibot-core-tox-flake8-py3-jessie
  -    - pywikibot-core-tox-flake8-docstrings-mandatory
       - pywikibot-core-tox-nose
       - pywikibot-core-tox-nose34-jessie
  -    - tox-doc-jessie
  +    - tox-jessie  # runs envs from testenv::jenkins ie: 
flake8,flake8-py3,flake8-docstrings-mandatory,doc

That aggregates flake8/doc, but that might end up being over complicated to 
maintain.

Also I noticed we run the `nose`/`nose34` envs, not the `py27`, `py34` ones.  
Maybe that can be revisited as well.


TASK DETAIL
  https://phabricator.wikimedia.org/T87169

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: jayvdb, hashar
Cc: Ricordisamoa, gerritbot, hashar, Legoktm, pywikibot-bugs-list, jayvdb, 
Aklapper, greg



_______________________________________________
pywikibot-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs

Reply via email to