PDA

View Full Version : Trying out a release channel system for the first time




wrldwzrd89
Jun 20, 2012, 03:55 PM
My system takes inspiration from Mozilla's channel system used for Firefox. I've tweaked it to fit my needs and schedule, though. I've established 7 release channels, named Dev, Alpha, Beta, RC, Stable, Mature, and Long-Term. Each channel later in the list gets updated at a slower pace than the one before it. What I'm not sure how best to handle is promoting builds from one channel to the next once the channels start filling up with activity. Does anyone have experience in this area? Some background information that may help:

I am using Eclipse for development.
I do NOT have a version control system in place, other than good old ZIP archives.
I am coding in Java.
The release channel schedule is pretty much set in stone.
The initial seeding of the channel system will commence later today.



lee1210
Jun 20, 2012, 04:27 PM
I'm really not trying to be a dick here, so please don't take this that way.
What kind of situation has led to you needing such an involved release system without having any sort of version control? I would implore you to setup some simple version control for your own sanity. The cool kids seem to be git-inclined, so you may want to pick that up. I know I'll sound like an old person recommending subversion but it's served us dinosaurs well for a long time. At least I'm not advocating cvs or rcs. Even if you don't want to set one of these up locally at least look into hosted versions online.

I'm sorry that this isn't addressing your real question. I can say that your attempt sounds noble. I'd cut your initial system down into fewer stages (3 or 4 to start) and add intermediate stages when you find that you need more granularity in the future.

-Lee

wrldwzrd89
Jun 20, 2012, 05:03 PM
I'm really not trying to be a dick here, so please don't take this that way.
What kind of situation has led to you needing such an involved release system without having any sort of version control? I would implore you to setup some simple version control for your own sanity. The cool kids seem to be git-inclined, so you may want to pick that up. I know I'll sound like an old person recommending subversion but it's served us dinosaurs well for a long time. At least I'm not advocating cvs or rcs. Even if you don't want to set one of these up locally at least look into hosted versions online.

I'm sorry that this isn't addressing your real question. I can say that your attempt sounds noble. I'd cut your initial system down into fewer stages (3 or 4 to start) and add intermediate stages when you find that you need more granularity in the future.

-Lee
Thanks. I had a feeling someone would suggest version control. I am very much a newbie to this, and trying it out for the first time. It's a learning process for me - I want to become a better tester, among other things, and going through this process is my latest attempt at forcing myself to test better before declaring things stable. Given that, I think I ought to set up some sort of version control system locally - I'm leaning towards Git right now. I don't really understand Git that well yet, though... so I expect some initial fumbling around to happen until I get the hang of things.

chown33
Jun 20, 2012, 05:13 PM
It's a learning process for me - I want to become a better tester, among other things, and going through this process is my latest attempt at forcing myself to test better before declaring things stable.

Version control is orthogonal to testing. You can do one without the other, you can fail at one while succeeding at the other, and so on.

The cool kids have been using unit tests for some time. The crusty old geezers have been doing automated test suites for even longer.

And yes, if you write tests, they should be managed under version control as well. Because writing tests is as much a creative and error-prone process as writing code for the actual product. (And to answer the recursive question, yes, sometimes you have to write tests for testing the tests, e.g. does the test really test and find the failure modes what it purports to test and find.)

Mac_Max
Jun 20, 2012, 05:37 PM
+1 for doing version control. I'd suggest Mercurial unless you're building something you plan to distribute en mass (like an open source project). If thats the case git/github is probably better (since you get it for "free").

jared_kipe
Jun 20, 2012, 10:17 PM
I would recommend Git, it comes with Xcode, and is very easy and fast. You might even be able to use the branching system Git promotes do your release channel stuff.