[Twisted-Python] List of required builds before a merge

Adi Roiban adi at roiban.ro
Tue Mar 13 11:55:14 MDT 2018


On 13 March 2018 at 13:54, Jean-Paul Calderone
<exarkun at twistedmatrix.com> wrote:
> On Tue, Mar 13, 2018 at 9:36 AM, Adi Roiban <adi at roiban.ro> wrote:
>>
>> We can try Circle-CI.
>> They don't offer any free versions. Even for open source.
>> When I did the initial work for Twisted with Travis and Appveyor I
>> contacted Circle-CI to see if we can get a discount.
>>
>> They offered OSX - Seed plan which comes with 500 minutes/month - free.
>
>
> They advertise this on their site now:
> https://circleci.com/pricing/#faq-section-os-x
>
> So I would expect Twisted could get it.
>
> Your point about the minutes limit is a good one though.  What is 500
> minutes to Twisted?  Around 30 builds?  It seems likely Twisted would run
> out most months.  Certainly, maintaining separate coverage and non-coverage
> builds would totally blow this limit.  And one of the big advantages of
> hosted CI over buildbot - letting third-party PRs trigger builds - would
> seem to be out of the question.

I asked for this on July 2016... so maybe they have a different
offering for open source now.
Circle-CI ticket id for this request is #8736.

>>
>> I stopped as the people on IRC told me that Circle-CI is not better than
>> Travis.
>
>
> Presumably at some point this was true.  These days, in my experience,
> CircleCI definitely seems competitive.  It has near feature parity (and more
> features in some areas), a less crufty configuration system, and seems
> better resourced (but this may just be better resource management - eg, the
> 500 minute macOS limit for free open source users).
>
> Of course, there's also the fact that the macOS Buildbot slaves are not
> offline right now.  I know they've gone offline but as far as I know, their
> maintainer is fairly responsive to reports of this.  So, is macOS really
> part of this problem?

Keeping slave online is not that much of a work.

My issue is with the buildmaster configuration and its maintenance in general.

> The immediate problem is all of the Rackspace-hosted slaves that are gone,
> right?

I don't know. I don't know when and where this was discussed.

My issue is that I am checking https://github.com/twisted-infra/braid
and there was no update for the removal of the slaves in the
buildmaster configuration.

> So maybe what's more interesting is that CircleCI offers a way to replace
> those - with either VM or container (including custom-image) builders.

I don't think that Circle-CI provides support for FreeBSD10, RHEL7,
Debian 8 and 9.

I think that Rackspace still offers us generous resources, so we can
use Rackspace for that.

We can run 1 or 2 Windows slaves in Azure as they gave us $150 monthly credit.

-----

I think that we should find a way to make it super simple to run more
tests on local systems.
It might not be easy to run all 2.7 / 3.4 / 3.5 / 3.6 on Windows /
Linux / BSD/ OSX, but maybe we can find a simple script
which runs the core tests in under 1 minute.
Devs will then be asked to run these tests before pushing to a PR...
and in the same time these teste can be used as stage 1.
If they don't pass we don't spin OSX / Windows and other resource-heavy tests.

-------

On Appveyor we have 4 builders/jobs

Maybe we can stage Windows test... and execute iocp reactor only after
select tests pass... on 2.7.

We still have Windows on Buildbot, so maybe run fewer tests on
Appveyor (to speed it up),
since we will run all Windows tests anyway in Buildbot.

----

For external contributors, we are effectively now running the tests in 2 stages
Unless Travis and Appveyor don't pass, we don't manually trigger the
Buildbot tests.

--------

When I have time, I will retry Circe-CI for OSX.
Just to give it a spin and see where we are and how much time we need
per month for OSX.
I think that we can tune the number of tests we run on Circle-CI to
get into the budget.
The Circle-CI can server as a stage-1 builder for external
contributors... and we will still have the OSX slave maintained by
Glyph.

> Jean-Paul
>
>>
>>
>> I am happy to try again with Circle-CI
>>
>> ------
>>
>> We might go over 500 minutes. I suggest running the tests in stages.
>>
>> Run twistedchecker/pyflakes/newsfragment/Ubuntu tests first.
>> Only when they all pass we should trigger Windows and OSX tests.
>>
>> I am also running the tests on stage... For example, Debian/RHEL/SUSE
>> pass 99.99% if Ubuntu pass... so those tests are executed only later
>> in the stage.
>>
>> ------
>>
>>
>> I don't have much time to contribute to Twisted infrastructure, and I
>> would like to spend the available time doing reviews and helping
>> people contribute to Twisted.
>>
>> If there is a better plan, I am happy to go with that.
>>
>> Thanks for your time :)
>> Adi
>>
>> _______________________________________________
>> Twisted-Python mailing list
>> Twisted-Python at twistedmatrix.com
>> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
>
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>



-- 
Adi Roiban




More information about the Twisted-Python mailing list