[PD] Continuous Integration for Externals

katja katjavetter at gmail.com
Tue Nov 29 12:07:38 CET 2016


Before PdCon16~ I didn't even know about Travis. When IOhannes
explained that it is an online continuous integration tool, my naive
idea was 'can we use this to build our Pd libraries on 'all' platforms
and route the builds back to us?'

Many of us don't have 'all' platforms available at their home or work
place and we sorely miss the Pd-extended build farm with its nightly
test builds. It seems useful to share knowledge and experience about
an existing infrastructure like Travis.

>From https://docs.travis-ci.com/user/customizing-the-build/, I
understand that Travis CI is also a community build farm (but
obviously bigger and more professional than we could organize in Pd
community):

'Please take into account that Travis CI is an open source service and
we rely on worker boxes provided by the community. So please only
specify as big a matrix as you actually need.'

There's an info page for 'complete beginners':
https://docs.travis-ci.com/user/for-beginners. A single page, is it so
easy? No, you really have to click that menu button in the right top
corner and read through a few dozen documentation pages to get an idea
what Travis can do, and how. All the info is there presented in a
user-friendly way. As we go and learn, we could make a Pd-related
summary or addition to this info. Yes I'm looking forward to Thomas
Mayer's 'Christmas / Chanukka gift to the community'!

If you build with Travis for a specific platform because you don't
have access to that machine or OS yourself, how can you test the build
products? Automated tests might be run on the Travis virtual machine
if you install Pd there.

But I'm also thinking of the following (not specifically related to
Travis): what if we would have a 'test section' in deken? Basically
meaning an optional 'test' tag in deken package names, and a filter in
the deken search plugin to show or hide test versions? Then Pd
community could more easily help with testing.

Katja

On Tue, Nov 29, 2016 at 10:09 AM, IOhannes m zmoelnig <zmoelnig at iem.at> wrote:
> [:travis-ci propaganda:]
>
> On 2016-11-29 01:09, Dan Wilcox wrote:
>>> On Nov 29, 2016, at 12:46 AM, pd-list-request at lists.iem.at wrote:
>>>
>>> Obiously, I would like to set up a Mac build machine as well. What do I
>>> need to install on a clean system via command line?
>> Install the build system via:
>>
>> xcode-select —install
>
> just in case this is not obvious:
> travis-ci already features OSX builders, and being a continuous
> integration system, these builders already come with a compiler.
> so - in the case of travis-ci - there is no need to manually install xcode.
>
>> If you need libraries, I’d recommend using Homebrew: http://brew.sh
>
> i'd second that, but bear in mind that in this means that you will
> actually *build* the libraries (most of the times).
> in a CI (like travis-ci) this can lead to timeout problems: whenever a
> build is triggered, it starts from a pristine image. so all the
> dependencies need to be rebuilt, whenever a build of the main
> application(/library/external) is triggered.
> with a complex system (like Gem), i keep getting failed builds, because
> building the dependencies leaves little time to actually build Gem.
> however, you could download arbitrary (prebuilt) binaries, rather than
> build everything from scratch.
>
> fgmasr
> IOhannes
>
>
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>



More information about the Pd-list mailing list