[PD] Continuous Integration for Externals

Jonathan Wilkes jancsika at yahoo.com
Tue Nov 29 17:17:50 CET 2016


> 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.

One option is "Giblab CI" which comes with Gitlab.  Essentially you define the build process 
with a yml file then set up "runners" on whatever machine(s) you want.  The runners can be 
on bare metal or a number of container environments-- docker, virtualbox, etc.
Here's a (still rather crude) example:https://git.purrdata.net/jwilkes/purr-data/commit/326f08b8d6765482068c87e2516df45d8f165768/builds
The nice thing about it is that each build machine just needs a single `gitlab-runner` instance running 
on it.  That process just polls the repo waiting for relevant commits, fetches (or clones) the repo, builds, 
and optionally uploads artifacts.
In my case I'm using the virtualbox backend, so on each commit it clones a virtualbox snapshot, 
fetches the repo, builds, tests, and then uploads the resulting *.deb package.
The OSX box always fails because I'm trying to build inside a virtualbox OSX guest running under OSX, 
and for some reason I cannot get OSX to ssh into an OSX guest.  Also for Windows you'd have to, well, 
have Windows. :)
But even without Windows and OSX, having the CI speeds up the dev process by an order of magnitude.
Best,
Jonathan
   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20161129/9b154e03/attachment-0001.html>


More information about the Pd-list mailing list