2

I know this may be overkill for a single developer solution (personal project and not yet enterprise software), but I was wondering how to better respond to my needs.

I would be needing to accomplish the following:

  • Run integration tests (none UI for the moment) at least daily in order to see if any of my commits breaks the build.
  • Build the entire solution daily to see if any of my commits are incomplete and would cause problems when checked out on another folder.
  • Be run on my personal computer at least once a day (using another computer to automate the build process is not an option for the moment)

I know that automated build software such as Jenkins are easily capable of doing the previous (even on the same machine as committed?), but I was wondering if lighter solutions are available. Ex: Post-commit actions on the repository?, scripts?, planned tasks etc...

Edit

Forgot to mention that I was using a Windows machine with a c# project running nunit tests. I use visual studio 2012 to compile solution and run tests with nunit. I use tortoise svn and Ank svn as repository browser.

Cœur
  • 37,241
  • 25
  • 195
  • 267

2 Answers2

2

You might make a crontab(5) entry to periodically (e.g. daily) run your build or tests.

I have a crontab entry invoking some shell script to fetch the source tree by svn or git version control in a fresh place and build it daily.

You could consider using inotify(7) facilities, perhaps thru incron, to have a test run as soon as you modify some file (e.g. an executable).

Look also at D.Moreno's garlic project (which I never used).

You could also simply have some Makefile targets for tests, and run them from emacs. I have

(load-library "compile")
(global-set-key [f8] 'recompile)

in my ~/.emacs so I just compile things by pressing the F8 key in my emacs editor.

Basile Starynkevitch
  • 223,805
  • 18
  • 296
  • 547
  • The answers provided look all good but are very linux centrique. Are there any alternative (especially similare to garlic) for windows users? – arsenaultk9 Jul 14 '14 at 15:07
0

Use Jenkins - no reason not to, considering its reasonably lightweight itself (despite being a java app). Its very self-contained too, backup involves stopping the Jenkins service and copying the installation directory so it's not going to pollute your OS.

Anything else you come up with is going to be too complex (in terms of maintaining a bundle of scripts, scheduled tasks and so on) or just as 'heavyweight'. You might as well save your time and use the tool that fits from the start.

gbjbaanb
  • 51,617
  • 12
  • 104
  • 148
  • Although this isn't the light weighted solution I wanted, this totally answers the specs I needed in my question. – arsenaultk9 Jul 21 '14 at 13:34