[Bioperl-l] Splitting Bioperl and Test related Suggestions
Chris Fields
cjfields at uiuc.edu
Thu Jul 5 14:33:46 UTC 2007
On Jul 5, 2007, at 8:07 AM, Hilmar Lapp wrote:
> On Jul 5, 2007, at 4:09 AM, Nathan S. Haigh wrote:
>
>> Chris Fields wrote:
>>> I think what's partially responsible for slowing down releases is
>>> the
>>> expectation that each dev release is supposed to have all bugs
>>> fixed,
>>> work for every OS, etc. In other words, act like a stable release.
>
> It doesn't. A stable release has a stable API that will be
> supported until the next stable release through point releases.
I agree, but I think there is still an expectation that 1.5.2 and
beyond are more like true 'stable' releases even though we still
designate them as 'developer.' We unfortunately reinforce that when
we tell users they need to update to v. 1.5.2 or bioperl-live to fix
a particular bug in the 1.4 release.
There's nothing we can do about that now (hindsight is always 20/20,
and 1.4 is just too old). We (pumpkin, core devs) can try correcting
that by ensuring any bug fixes be committed to any new stable branch
as well as to live, at least until it becomes too problematic to
maintain that particular stable branch (at which point we would go
about getting ready for the next 'stable' and repeat the cycle over
again).
>>> A developer release by nature is living on the edge, so why not have
>>> regular dev releases?
>
> There's no problem with regular dev releases, but tests will need
> to pass. There was never a stipulation that all bugs need to have
> been fixed. But all tests need to pass, so in an ideal world (in
> which everything is being tested) all tests passing would imply all
> (known) bugs fixed. Obviously, we don't live in an ideal world ...
...particularly when it comes to network-related tests and remote
server problems (but those are by default not run, so there is a way
around test fails there). I agree here as well (all tests must
pass). As for the bug fixes, we can just stipulate which ones were
fixed with the release (in a RELEASE_NOTES or similar), and maybe
have TODO's in the test suite designating they are being worked on.
Basically, at regular intervals, maybe with a few weeks of lead time,
the pumpkin would announce an impending dev. release. Go through
rounds of tests, bug fixes, etc. When all tests pass post it on CPAN
as a dev. release. If we have a stable release branch with relevant
bug fixes we can post that as well, again to the point where it
becomes too problematic.
Would we just take a snapshot of MAIN and any relevant stable branch
at that particular point for the CPAN release, just increasing the
version number (1.x.y)? Would it make sense to have a 1.x.y branch
for each release (I don't think so, but maybe others disagree)?
> If not everything passes then what is the big difference to a code
> snapshot? If using cvs (or svn) is too difficult for most people,
> we can consider creating a mechanism that puts up nightly snapshots
> for download.
If we feel a nightly snapshot is warranted we could do that though.
I personally don't think there is a need, particularly since we have
several means to obtain the latest code at any point in time
(including the browsable CVS 'Download tarball'). We could state the
next dev/stable CPAN release (pending on date dd/mm/yy) will have the
bug fix, and if they want it immediately then pick it up from CVS.
>> -- snip --
>>
>> I agree, although would the dev releases still need to pass all the
>> tests? I'm thinking of people installing via CPAN.
>
> For example, that's another point.
>
> -hilmar
Yes, I agree.
As an aside, I don't think dev. releases pop up when you run a simple
'install Foo::Bar' from the CPAN shell but I'm not sure; Sendu may
know the answer to that.
chris
More information about the Bioperl-l
mailing list