Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

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.

Dates

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

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.

https://reservations.mcmenamins.com/htmlimages/edge_show_westporch.jpg

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.

Here are our smiling faces:

Group3b.jpg

How to register

Thanks to the Eclipse community's response, the workshop was full.

  • Ward Cunningham, organizer, registered
  • Bjorn Freeman-Benson, Dash release engineer & organizer, registered
  • Scott Lewis, registered. ECF project lead. We've got a simple-but-useful build environment for smaller projects.
  • Pete Mackie, registered. ECF project. Author of the stand-alone workstation Eclipse project build. Hey, its really simple to deploy once you understand just a few details about the environment.
  • Jao Tham, registered. EPF project release engineer.
  • Hubert Leung, registered. TPTP project release engineer.
  • 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.
  • Nick Boldt, registered. Eclipse Modeling project release engineer, incl. EMF, UML2, EMFT, and soon GEF, GMF, etc. Committer for org.eclipse.build.tools (RSS- & Bugzilla-related tools)
  • Sue Lee, registered. BIRT project build & release engineer
  • Max Feldman, registered. GMF project build/release engineer
  • Natalie Burdick, registered. Works with Maven; hoping to get some ideas about improving builds in general, and learning how Maven technology might be aligned with Eclipse projects
  • John Casey, registered. Works with Maven; hoping to get some ideas about improving builds in general, and learning how Maven technology might be aligned with Eclipse projects
  • Dennis O'Flynn, registered. Corona project lead. Hoping to improve our build process, escpecially in the area of automated regression testing.
  • Dave Wolfe, registered, Aperi (new Eclipse project) release lead. Our build process is in transition...
  • Pawel Piech, registered. [Device Debugging] project engineer. Only starting with build in the project as we only recently checked in our first plugins. Note: I regret that I won't be able to attend after all, Ted Williams will be representing DSDP/DD
  • Ted Williams, registration pending
  • Thomas Hallgren, registered, Buckminster project
  • 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.
  • Kim Moir, registered, Eclipse Project release engineer
  • Henrik Lindberg, registered. Buckminster project
  • Denis Roy, registered, Eclipse Webmaster
  • Greg Watson, PTP project lead Note: Greg sends his regrets; he won't be able to make it


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.


-- Kim Moir

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.
  • (60 min) Second breakout meeting
  • (15 min) Snack, email and wiki writing break
  • (30 min) Second summary reports and discussion

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
  • (60 min) Third breakout meeting
  • (15 min) Snack, email and wiki writing break
  • (30 min) Third summary reports and discussion
  • (60 min) Fourth breakout meeting
  • (15 min) Snack, email and wiki writing break
  • (30 min) Fourth summary reports and discussion
  • (60 min) Lunch and email break
  • (60 min) Fifth breakout meeting
  • (15 min) Snack, email and wiki writing break
  • (30 min) Fifth summary reports and discussion
  • (90 min) Consolidation, assessment and call to action -- Bjorn Freeman-Benson, et. al.

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.

Results

Europa Build Workshop Report

Europa Build Workshop mailing list: https://dev.eclipse.org/mailman/listinfo/europa-build-workshop

The cross-projects mailing list: https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev

Back to the top