Hello all,

OpenSC 0.12.0 includes scripts to reasonably automatically and repeatably build 
the installers on all supported platforms (and of course the standard targzip 
for Linux).
The next step, for next release, is to get automated (nightly) builds and 
automated tests.

This requires infrastructure and dedicated resources (mostly 24/7 (or close) 
available computing resources, together with dedicated smart card readers and 
smart cards) which OpenSC, as a volunteer based developer community, might not 
have readily available. 

While it would not be *that* difficult to roll this out with the resources 
available (at least for the basic requirements for automated "master" builds, 
see below), there's also a secondary point: involving companies in OpenSC 
evolution in other ways than code re-use and patches.

Companies should be motivated to assure that their cards work well with OpenSC 
and their contribution to the community visible to others as well. Current 
(unused to my knowledge) regression test scripts included with OpenSC are not 
automated, nor do they take into account different cards that can have 
different success and failure criteria or support just certain algorithms under 
certain conditions. Developers having access to the most detailed information 
about the environment and requirements are the best ones to set up test 
criteria for their cards.

So this is the plan for 0.12.1 (in addition to casual code fixes and 
improvements)
 - Set up Hudson [1] master for OpenSC
  - Hudson, because it is to my knowledge the easiest system for setting up and 
running a build slave, which must be very simple for this effort to succeed.
 - Set up workflow, necessary scripts, documentation etc to produce nightly 
builds and publish them to opensc-project.org
 - Set up a sub-repository for card based test scripts and a dashboard for 
showing the collected test results.

For "gold master builds" I'll keep dedicated virtual machine instances (Ubuntu 
10.10 amd64, Mac OS X 10.6, Windows XP SP3 with VS 2008), but for nightly 
builds I don't want to nor am I able to constantly allocate the resources. 
Setting up Hudson in a virtual machine to run tests against a card should be 
doable for almost anyone. I'll try to make the reference Linux virtual machine 
for card testing available to anyone who's interested but I don't know where or 
when (my access to a reasonably fast uplink is 125km away).

I hereby ask for interested parties (corporate and individual) to raise their 
hand if they have resources to allocate for continuous builds  and/or cards and 
readers to allocate for continuous testing. Dedicated windows VM-s (with proper 
licenses etc) and dedicated Mac OS X instances are most valuable, as usual.

Moving of opensc-project.org server to a new home shall be necessary to host 
the master dashboard on opensc-project.org (as it is *very* low on resources) 
for what I don't currently have the time for, so the master currently runs on a 
different machine I own. I'll announce the URL after a few days of more 
testing, so that basic cycle would already work semi-flawlessly.

To recap: to set up the framework for continuous integration (building and 
testing) where it would be easy for different parties to "plug in" the actual 
resources; to set up script suites for card-specific testing and improve the 
generic regression test suite to a better state.

[1] http://hudson-ci.org/
-- 
@MartinPaljak.net
+3725156495

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to