Hi all,
this post —
http://perlhacks.com/2012/03/you-must-hate-version-control-systems/
— on Dave Cross’s blog reads:
< QUOTE >
I’ve been an independent consultant for a long time now. Over the last
seventeen years I’ve worked for dozens of different clients. In that time it’s
been interesting to watch how good practices have slowly permeated the
industry. These days, when I start working with a new client there’s about a
50% chance that they will have some kind of Continuous Integration environment
in place. Over the next couple of years that percentage will, no doubt,
increase and CI will just become part of the standard software development
toolkit. Those of you thinking “but it’s already part of the standard software
development toolkit” should realise that not everyone is as leading edge as you
are.
For example, before CI was on the scene, unit testing was the big new idea.
Over the last ten years, the percentage of clients where I seen unit tests
being used has gone from about 10% to pretty much 100%. For most software
developers, the idea that you would develop any large project without unit
tests seems ridiculous. But it wasn’t always like that.
Before that, it was source code control. [ = version control ]
< / QUOTE >
From what I understand Continuous Integration means that one runs the build and
tests at every recent commit done to the central version control repository,
to verify that nothing got broken.
Now, Freecell Solver has used version control for many years now (first CVS ,
then Subversion and lately - git) and had a test suite for quite a few years as
well ( I believe it was originally created to better ascertain the transition
from CVS to Subversion did not break the code too much, but, naturally, it's a
good idea to have anyway. ). However, we have been late to the game of
Continuous Integration.
A few days ago I decided to finally change it. I've already heard of several CI
solutions including
https://en.wikipedia.org/wiki/Jenkins_%28software%29 ,
which is open source, written in Java, and requires setting up a dedicated
server, and
https://en.wikipedia.org/wiki/Travis_CI which is a gratis hosted
solutions for GitHub repository, that is comprised of many individual open
source components. Since I tend to believe I am a poor system administrator and
lack the resources to set up my own server, I decided to go for Travis CI - at
least for now.
After pursuing the documentation about preparing a ".travis.yml" file, and
using various web searches, many individual commits (from commit
fe412bf3ee6082e0ba8a7ab36818e08f058b9c0b and for now ending in commit
06a253d8e9121b2a516245f4027ea7299e559d4b - both in the master branch), I was
able to get the build to pass. My problems were usually either due to various
quirks of the Freecell Solver build system and scripts for which I did not
anticipate this particular scenario of building and testing directly from the
git repository; or alternatively they were caused by the quirks of the Travis CI
build host and the fact it uses an old version of Ubuntu Linux - 12.04, where
Freecell Solver sometimes required more recent software than what it contained.
Anyway, these problems were solved and we now have a successful "build:
passing" status:
*
https://travis-ci.org/shlomif/fc-solve
This was the first repository I have ever added a ".travis.yml" file into, and
perhaps I should have picked up a smaller and less heterogeneous project first.
Integrate continuously!
Shlomi Fish
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
List of Portability Libraries - http://shlom.in/port-libs
If the miller travelled to the market with Emma, they would have each rided
their own donkey. Problem solved.
— http://www.shlomifish.org/humour/bits/facts/Emma-Watson/
Please reply to list if it's a mailing list post - http://shlom.in/reply .
Received on Wed Nov 18 2015 - 14:46:51 IST