4.6.1 release process proposal
Biju Chacko
botsie at xfce.org
Fri Jan 16 13:08:46 CET 2009
Brian J. Tarricone wrote:
> Botsie! Long time no see. You should stop by in #xfce-dev so we can
> heckle you ^_^.
I'm around -- I'm just in lurk mode most of the time.
> On Fri, 16 Jan 2009 09:13:58 +0530 Biju Chacko wrote:
>
>> I'm wary of doing a release with components built on multiple
>> environments -- it requires a fair amount of care and discipline to
>> get right.
>
> No, it really doesn't. As long as each particular system is capable of
> building a correct package, it doesn't matter if the various module
> tarballs were built on different system.
That's true, my mistake. However, it does make a bigger difference if we
want to start releasing binaries -- tarballs, rpm or whatnot.
>> Basically, on every check-in the entire project is rebuilt
>
> Who's going to provide the hardware for this? Who's going to host it?
> I really don't think mocha is strong enough to be doing multiple builds
> per day (currently it just does one every night) considering that the
> box does a bunch of other things too.
That's a problem. We could run the CI system in nightly mode until some
kind soul donates hardware. Or we run only incremental builds on
check-ins and full builds once a day.
The important part is setting up the automation. The quicker and easier
we make the release process, the easier it is for any one of us to pick
up the Release Manager Role. If doing a Release becomes sending out a
nag mail to maintainers to test their respective modules and then
pressing a button to upload the tarballs to the website then more of us
would be willing to do it.
It would be easier to do it more often too.
>> - We would use a canonical environment for all builds. We wouldn't
>> get caught by a maintainer using a newer GTK+, say, than what we've
>> targeted for a particular release.
>
> Also good. This isn't so much release-related as
> ongoing-development-related, though. Sure, we've been bitten by this
> problem in the past, but I wouldn't characterise it as a release
> issue. It's a "developers need to test-compile against the lowest
> common denominator of dependencies" issue. Something that's annoying
> and most none of us do... an excellent candidate for automation, as you
> note.
I've drunk the Agile development Kool Aid here in ThoughtWorks, so one
of my thumb rules is not to differentiate much between 'development' and
'release'.
In the Ideal World(TM), release is a decision not a process. It's a good
idea to do every step of your release process as often as possible so
that you don't get any nasty surprises when you actually do release.
In the real world that isn't always possible, of course.
>> - We'd be able to release nightly builds to make it easier for people
>> to test trunk.
>
> We already do that:
> http://mocha.xfce.org/downloads/svn-snapshots/xfce/
> (As you can see, it's not perfect; some things fail to build for months
> and nobody notices. In this case the problem is on the build server,
> not a problem with the packages.)
If you're doing CI then a broken build is an absolute no-no. It's akin
to walking around with your fly open. Anybody who breaks the build wins
immediate public humiliation.
While it's always good not to have a broken build, personally I find
inflicting public humiliation sufficiently entertaining to be enough
motivation for the practice. What can I say? I'm a sadist. ;-)
>> I've got a fair amount of experience in this area so I could help set
>> this up.
>
> Sure, if you're willing to do the work, it sounds like it could be a
> great idea. What do you need to get started?
A nice build script would be good start. And if someone could reset my
password on mocha, that would help.
-- b
More information about the Xfce4-dev
mailing list