Build Workshop 1

Release engineering is important and we're going to pay more attention to it. This workshop was our first step.

As experienced software developers, we all know that release engineering is an essential part of building high-quality frameworks and tools. The Callisto Simultaneous Release demonstrated that truth yet again. Motivated by our desire to reduce the manual overhead of cross-project release engineering for the upcoming Europa Release, the Planning Council endorsed this symposium/workshop for sharing tools and best practices for build/release engineering.

Contents

Dates

The session met from 8 am to 5 pm each of September 12 & 13.

Location

The event was held near Portland, Oregon, in the Barley Room of the historic Edgefield resort hotel. The Edgefield property offers a casual environment with many whimsically decorated spaces for work and play.

Fun

Edgefield has many attractions--including a pitch-and-putt golf course! It's called the Pub Course, and it's golf for everyone--even if you've never played before. Most of us played a short nine holes and we realized why we are release engineers instead of executives: our golf skills were non-existent!

Goals

Collective understanding of each project's current build/release process.

Define common interactions/locations/protocols (rss, download directories, update sites, mailing lists, conference calls, etc) with the expectation that these will be required of most Europa projects. For example, perhaps Europa projects will publish their build results via an RSS feed for other projects to consume.

Design common build infrastructure (processes, conventions, checklists, builders, tests, web pages, maven?, ant?, buckminster?, pack200, cruise control?, etc) which will be recommended to new Eclipse projects and potentially, optionally, adopted by existing projects which do not already have a sophisticated release engineering process.

Formulate requirements/requests to the Eclipse Foundation for build support facilities to be made available for smaller projects.

Attendees

We invited you to attend if you have had, or will have, build and/or release engineering responsibilities for an Eclipse project. It is important for attendees to have real-world knowledge of their build system - this is not a meeting for managers, it's a workshop for do-ers.
You were also welcome to attend if you have substantial related experience and a willingness to contribute to the symposium's goals.

Bill Kayser, registered. Share an office with Ward and Bjorn--hoping to get some ideas for improving our build process, especially conventions for naming and packaging of client libraries based on Eclipse plug-ins.

Andrew Overholt and Ben Konrath, registered. Fedora Eclipse and Eclipse Linux Distros Dev - We would like to provide details of the problems we encounter with current build procedures and suggest improvements to these procedures to make packaging the SDK and feature sets for Linux distribution easier.

Things to be discussed

We will use this space to discuss tools, methods, protocols and conventions that should be of interest to the participants.

I think we need to come up with a list of the common challenges that people face with their build infrastructure. Also, it would be good to have a list of issues that arose during Callisto that we'd like to have addressed. Also, what are their best practices can teams share with others? It might be useful to ask people to prepare material in advance on topics they'd like to share. For instance, if you use RSS feeds today, how did you implement it? How could other teams leverage your work? How did you use new pde build functionality in your build? How can others implement this? For each issue that we agree needs to be addressed, we need to have a dynamic team of individuals willing to own the problem and solve it. Otherwise, we will just talk and the problems will remain.

For the goal of "Collective understanding of each project's current build/release process" it would be useful for each attendee to prepare a five minute "lightning talk" that provides an overview of their build process including the advantages and disadvantages of this approach. This will give everyone a background on the various build processes without consuming too much time.

Agenda

The workshop will alternate between plenary and breakout sessions. Attendees will collectivly select breakout topics in plenary session, tangibly contribute in self-assigned breakouts, and then reconvene to summarize results for the whole.

Breakout groups will be expected to quickly identify issues, review likely solutions, and recommend action appropriate to the Europa timeframe. Each group will draft written conclusions in this wiki that will be the basis of their report in the following plenary.

Tuesday, Sept 12

(30 min) Introduction to the workshop, its roots in Callisto, and a vision for its most valuable contribution to Europa. -- Ward Cunningham and Bjorn Freeman-Benson

(90 min) Lightning retrospectives presenting current systems, best practices, pain points and wish lists. We recommend these be presented from notes prepared in this wiki and following our Lightning Retrospective Guide as appropriate. -- All Attendees

(15 min) Snack and email break

(90 min) Lighting retrospectives continued.

(60 min) Lunch and email break

(30 min) Topic brainstorm and first cut prioritization. We will use some variation of "cast each of five votes on most important topics". Although topics will probably not be surprising, attendees will begin choosing how to apply their efforts the remainder of the day.

At this point we will break before assembling for dinner. We expect attendees to enjoy Edgefield recreations before and after dinner. However, we hope that the issues of the day and the opportunities for tomorrow will be frequent topics of conversation.

Wednesday, Sept 13

(30 min) Reconvene, overnight reflection. We may have an invited speaker in which case we will enlarge this spot. -- Ward Cunningham

At this point the formal workshop will be over. We expect eastbound attendees to stay over for early morning flights. Again Edgefield has many recreations but some may choose to tour Portland or the Columbia Gorge. We recommend attendees self-organize so as to enjoy each other's company.