genielabs / HomeGenie

HomeGenie, the programmable automation intelligence
https://homegenie.it
GNU General Public License v3.0
395 stars 155 forks source link

Add support for CI #294

Closed davidwallis closed 6 years ago

davidwallis commented 7 years ago

Adding as a suggestion.. Look at using https://www.appveyor.com/ (free for opensource) or an alternative to create a CI build for things like MIG and then publish this to Nuget, then allow homegenie and interface modules to use the nugget package if needed..

Also use this for running the builds for homegenie and then ultimately being able to add tests into the project :) happy to try and assist :) spot who has a job in the devops world...

genemars commented 7 years ago

it will take some time :) but hopefully it will end up structured like this. Feel free to help. I am myself a novoice about the topic in this very moment and busy with detaching all the front-end stuff.

Bounz commented 7 years ago

I gave Appveyor a try, it works and I like that it's possible to use all benefits, that CI gives without the need to install and configure separate build server (like TeamCity or Jenkins). I tested it on the main HomeGenie repository (https://ci.appveyor.com/project/Bounz/homegenie) with running unit tests and I think for the first time it may be more useful to use Appveyor with libraries (SerialPortLib, ZWaveLib, MIG) rather than the main application.

davidwallis commented 7 years ago

I think appveyor is ideal for this, I've also got some scripts for CI builds of my Interface libs which maybe of help, I will have a play with appveyor and see if we can get it doiing automated builds for the components - it maybe that MIG might be better then published as a nuget package or included as part of the solution - not sure which though.

Once we get that working we should look at add some basic unit / integration tests.

genemars commented 6 years ago

Added Travis CI (deb+tgz) and AppVeyor (exe) scripts.