<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head><!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]--></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px">> Many of us don't have 'all' platforms available at their home or work<br clear="none"><div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" id="yui_3_16_0_1_1480434699805_13744" style="display: block;"><div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1480434699805_13743"><div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1480434699805_13742"><div class="y_msg_container" id="yui_3_16_0_1_1480434699805_13745">place and we sorely miss the Pd-extended build farm with its nightly<br clear="none">test builds. It seems useful to share knowledge and experience about<br clear="none">an existing infrastructure like Travis.<br clear="none"><br clear="none"><div dir="ltr" id="yui_3_16_0_1_1480434699805_15094">One option is "Giblab CI" which comes with Gitlab.  Essentially you define the build process <br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15013">with a yml file then set up "runners" on whatever machine(s) you want.  The runners can be <br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15047">on bare metal or a number of container environments-- docker, virtualbox, etc.</div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15306"><br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15193">Here's a (still rather crude) example:</div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15192"><a href="https://git.purrdata.net/jwilkes/purr-data/commit/326f08b8d6765482068c87e2516df45d8f165768/builds" id="yui_3_16_0_1_1480434699805_15191">https://git.purrdata.net/jwilkes/purr-data/commit/326f08b8d6765482068c87e2516df45d8f165768/builds</a></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15190"><br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15189">The nice thing about it is that each build machine just needs a single `gitlab-runner` instance running <br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15774">on it.  That process just polls the repo waiting for relevant commits, fetches (or clones) the repo, builds, <br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15762">and optionally uploads artifacts.</div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15773"><br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15763">In my case I'm using the virtualbox backend, so on each commit it clones a virtualbox snapshot, <br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15767">fetches the repo, builds, tests, and then uploads the resulting *.deb package.</div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15764"><br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15766">The OSX box always fails because I'm trying to build inside a virtualbox OSX guest running under OSX, <br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15765">and for some reason I cannot get OSX to ssh into an OSX guest.  Also for Windows you'd have to, well, <br></div><div dir="ltr" id="yui_3_16_0_1_1480434699805_15784">have Windows. :)</div><div><br></div><div>But even without Windows and OSX, having the CI speeds up the dev process by an order of magnitude.</div><div><br></div><div id="yui_3_16_0_1_1480434699805_15904">Best,<br></div><div>Jonathan<br></div></div> </div> </div>  </div></div></body></html>