Trying out a release channel system for the first time

Discussion in 'Mac Programming' started by wrldwzrd89, Jun 20, 2012.

  1. macrumors G4


    Jun 6, 2003
    Solon, OH
    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.
  2. macrumors 68040


    Jan 10, 2005
    Dallas, TX
    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.

  3. thread starter macrumors G4


    Jun 6, 2003
    Solon, OH
    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.
  4. macrumors 604

    Aug 9, 2009
    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.)
  5. macrumors 6502

    Mar 8, 2004
    +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").
  6. macrumors 68030


    Dec 8, 2003
    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.

Share This Page