Release Process (as used for 0.8)

This space is an archive space for documentation related to old versions of Fluid Infusion (i.e. versions before 1.3). For documentation related to the latest Infusion, see Infusion Documentation.

Release Process (as used for 0.8)

About this Page

This document outlines our process for coordinating releases of the Fluid Infusion source code and the Design Handbook. This is an archival document.


Frequency of Releases

We release versions of the Fluid Infusion framework, components, and Design Handbook on a monthly basis. For more information about the contents of each monthly release, check out the Fluid Community Roadmaps.


Release Version Number

Each release has a unique version number associated with it, e.g. "0.1" or "0.3beta1". This version number must be recorded consistently in a few locations:

  • SVN tags

  • Wiki pages and other documentation

  • The project pom.xml and project.xml files

  • The ant build scripts properties file, build-scripts/build.properties

  • The version number of the Wiki API page snapshots

The following instructions will describe more specifically when, where and how to record the release number.


Process

Task

Who Coordinates with the Community?

Task

Who Coordinates with the Community?

Set and announce the release date, code freeze date and bug parade date

Project Manager, Tech Lead, QA Lead

Coordinate the release deliverables and create a roadmap on the wiki

Project Manager, Tech Lead , UX Leads

Create the Release Status wiki page

Release Manager

Ensure known issues in JIRA have been marked with the correct fix version for the release

Whole Team

Create documentation JIRA issues and coordinate with community

Documentation Lead

Work with component design/development teams to produce a test plan for each Fluid component

QA Lead

Recruit QA testers

QA Lead

Create Bug Parade list in JIRA

QA Lead

Coordinate the Bug Parade with the community

QA Lead

Create release related JIRA issues for the main release tasks, and set them as blockers (once Bug Parade is complete)

Release Manager

Coordinate QA and Code Freeze
This includes sending emails to the list announcing Code Freeze.

QA Lead

Coordinate Release Bundle QA

QA Lead

Update JIRA

Release Manager

Send release e-mail and create release news item

Release Manager

This is a collaborative process, and the community is encouraged to take an active role in defining schedules and coordinating the release process. It is expected that the Release Manager, QA Lead and Documentation Lead roles can be rotating positions based on interest and expertise.


Release Status Wiki Page


Release-related JIRA issues

The real work of creating a release is managed through a number of Blocker JIRA issues. These JIRAs must be created for each release, and any necessary changes to the code must be committed against them.

During Bug Parade

Issue Title

Issue #

Issue Description

Issue Title

Issue #

Issue Description

Code cleanup for release x.x

FLUID-2233

Clean up comments, ensure public APIs are fully commented and JSLint new javascript files.
Note that this issue should only be in force before Code Freeze. Commits that alter actual code should not be permitted during Code Freeze.

Check licenses and copyrights

FLUID-2234

Ensure all javascript files have a license and copyright. Also make sure thirdparty code is compatibly licensed and a license file is included in the same directory as the code.

Update and expand on unit test coverage

 

Increase unit test coverage and ensure that all tests are passing.

After Bug Parade is Over

Issue Title

Issue #

Issue Description

Issue Title

Issue #

Issue Description

Update the README.txt file

FLUID-2235

Be sure to update the version number, the zip file names (which include the version number), the "What's New" section with a list of features of the release, folder hierarchy if it has changed at all (e.g. new sample-code folders added), the list of supported browsers if it has changed, and the "Known Issues" section with highlights of the known issues.

Generate and test release bundles

FLUID-2236

Compare the production bundle to the repository and ensure everything is present. Compare the two bundles - the only difference should be that the source bundle does not have a war file, the production bundle has minified javascript and the source bundle does not have minified javascript.

Tag, package and post the release

FLUID-2237

See

http://wiki.fluidproject.org/display/fluid/Release+Process#ReleaseProcess-HowtoTagandPackagetheSourceCode

for details.

Ensure that component progress indicators are up-to-date

FLUID-2249

The progress indicators on each component landing page should be double-checked, to ensure that they are up-to-date.

Update the demos on the Fluid website

 

Once the release bundle is posted, the links on the website to demos of the latest release must be updated:

http://fluidproject.org/index.php/demos

For instructions, see

http://wiki.fluidproject.org/display/fluid/Release+Process#ReleaseProcess-UpdatingDemosontheFluidProjectwebsite