Posts Tagged ‘Releases’

QuickRelease (Lucky!) 0.13 Released

Tuesday, April 10th, 2012

Just a quick announcement that the newest version of QuickRelease has shipped!

(Lucky!) 0.13, most notably, has the following updates/improvements:

  • Entries from your release configuration files can now be coerced by the ConfigSpec class into dictionaries; you can do this be defining an item in the configuration file with the syntax [key1 value1] [key2 value2]
  • You can now define command-line overrides for variables; you must set allow_config_overrides to true in your config file to allow this behavior, but after doing so, you can redefine variables from the commandline, like so: quickrelease -p SomeProcess -c myconfig.cfg -DoverrideVariable=overrideValue -DanotherOverride=somethingElse. This is especially useful for processes that are used daily, and thus need minor configuration changes.
  • Addition of a chdir() utility method that follows shell semantics; this is a bit of a random feature, but some programs (Perforce’s p4 command line utility, most notably) rely on a correctly-set PWD environment variable instead of getcwd(3) to know which directory they’re operating in; this function provides a compatibility layer for such programs.
  • You can now pass either a filename or an input stream to RunShellCommand(), and it will hook this up to the calling process. This is useful for some programs (again, notably, p4) where you can script their behavior by giving them commands via STDIN.

Packages can be grabbed directly from github. (We’ll be publishing “proper” packages for future releases.)

As always, if you run into any problems, don’t hesitate to let us know

And if you’re interested in the project, feel free to follow/fork us on github!

The focus on 0.14 will be something many have been asking for: more documentation, and examples, including a sample set of processes, steps, and configuration to build Firefox!

Tags: , , ,
Posted in Releases | No Comments »

V1055

QuickRelease 0.12: shipped!

Monday, November 7th, 2011

Just a quick (pun intended) heads up for QuickRelease followers/users: 0.12 just shipped today!

You can grab an automatically-generated tarball, courtesy of github, here.

The 0.12 release has a bunch of minor fixes and polishes to the 0.11.1 release. Notable improvements include:

  • Finish up a wholesale refactor of “Partner steps”: partner steps were originally created to model release processes that are relatively close to each other, but contain minor configuration differences for different partners. Specific improvements include:
    • Creation of a new top-level type: PartnerStep
    • Move all the partner-related concepts into this class.
    • Use a cleaner approach to connect the running of Processes and (Partner)Steps
    • Hook up auto-setting of the partner-related configuration steps, so partner-specific configuration is all set up for steps that use them
    • Provide a mechanism to get at partner-specific configuration variables in common config areas
    • Allow partner steps to decide whether or not they should halt when encountering an error or keep trudging along.
  • Hook up the console driver’s “ignore any errors” option (-i) actually work, and also correctly report if an error occurred, even if you’re ignoring it.
  • Create a collection type for ReleaseFrameworkErrors&mdash:ReleaseFrameworkErrorCollection—which allows errors to be “batched up” and dealt with (particular useful when writing partner steps.
  • Plus a bunch of minor bug fixes!

The provided examples have also been updated to illustrate the power of PartnerSteps and of the new QuickRelease ConfigSpec magic you can play with.

Please give play arond with it, and if you have any questions or (heaven forbid) discover any bugs, feel free to let the QuickRelease developers Google group know!

Tags: ,
Posted in Releases, Releng Machinery, tipstricks | No Comments »

V912

“[Hack on] it and They will come”

Tuesday, November 1st, 2011

From a great Apple story:

Once again, my sanity was saved by the kindness of a stranger. At 2:00 one morning, a visitor appeared in my office: the engineer responsible for making the PowerPC system disk master. He explained things this way: “Apple is a hardware company. There are factories far away building Apple computers. One of the final steps of their assembly line is to copy all of the system software from the ‘Golden Master’ hard disk onto each computer’s hard disk. I create the Golden Master and FedEx it to the manufacturing plant. In a very real and pragmatic sense, I decide what software does and does not ship.” He told me that if I gave him our software the day before the production run began, it could appear on the Golden Master disk.

I’d bet money the mysterious engineer that saved the day was a release engineer.

This is a minor historical footnote in Apple’s history, but it’s a fascinating look at the policies, environment, camaraderie, and engineering spirit of the company in its previous life; definitely worth a few minutes.

(Via @othiym23, originally via @raum.)

***

I must admit: one of the things I do miss the most is creating the golden masters. I’m young enough to have not had to worry about it for years, but old enough to have had to do it for a few products that I shipped.

I think we might have a different mentality about software release process and quality if we still went through that ritual today, and it actually involved cardboard boxes, pieces of plastic to hold the bits, and shipping trucks.

Tags: , , ,
Posted in Releases, blahblahblah | 2 Comments »

V903