Page MenuHomePhabricator

Travis and Appveyor: Major improvement to test time
Open, MediumPublic

Description

Travis and Appveyor builds take cca 4 hours. Let's find out, how we could make them faster!

What Travis suggests:

Details

Related Gerrit Patches:
pywikibot/core : master[tests] Set fast_finish: true

Event Timeline

Dvorapa created this task.Feb 2 2018, 2:01 PM
Restricted Application added subscribers: pywikibot-bugs-list, Aklapper. · View Herald TranscriptFeb 2 2018, 2:01 PM
Dalba moved this task from Backlog to Framework on the Pywikibot-tests board.Apr 5 2018, 1:40 PM
Xqt triaged this task as Low priority.Apr 5 2018, 4:17 PM
Dalba added a comment.EditedSep 25 2018, 8:50 AM

Here is an idea (although I don't know how much it can help):
When a commit only affects a script, there is no need to run all tests, just the related test module for that script. The other parts have already been tested in previous commits. This should be safe because the pywikibot directory does not depend on scripts, and scripts are (should be) independent from each-other.

It seems ok to me, per T60942 no library file calls a script, but scripts call others sometimes.

Xqt added a comment.Sep 26 2018, 6:14 AM

Good idea but I've no glue how to set up tests to only run a subset of it with scripts changes

Xqt raised the priority of this task from Low to Medium.Sep 26 2018, 12:35 PM
Xqt added a comment.Sep 26 2018, 11:48 PM

I changed the Travis settings a bit to enable more concurrent jobs and cancel jobs when a new patch was deployed; this will shorten tests time a lot. I also cancelled some jobs but they can be restarted if necessary. Unfortunately I cannot do such administrative things on apveyor.

Xqt added a comment.Sep 28 2018, 5:04 AM

As result of the settings changes one test in Travis needs one hour now vs. two hours before.

Excellent!

PS: @Ladsgroup has got an access to the current Appveyor account, @jayvdb has got an access to the Wikimedia Appveyor account. To solve the issue, there are two options:

  • contact one of the guys successfully
  • create new Appveyor account (like Dvorapa/Pywikibot)
Xqt renamed this task from Travis: Major improvement to test time to Travis and Appveyor: Major improvement to test time.Oct 1 2018, 11:48 AM
Xqt updated the task description. (Show Details)

Change 463735 had a related patch set uploaded (by Xqt; owner: Xqt):
[pywikibot/core@master] [tests] Set fast_finish: true

https://gerrit.wikimedia.org/r/463735

Change 463735 merged by jenkins-bot:
[pywikibot/core@master] [tests] Set fast_finish: true

https://gerrit.wikimedia.org/r/463735

D3r1ck01 moved this task from Backlog to Needs Review on the Pywikibot board.Dec 22 2018, 6:18 PM
Xqt moved this task from Needs Review to Backlog on the Pywikibot board.
Xqt added a comment.EditedFeb 18 2019, 4:24 PM

We need a lot of time for testing Python 2.7 which is 14 minutes at Travis and 52 minutes at Appveyor in total