Difference between revisions of "Release procedure and checklist"
From Joomla! Documentation
Dextercowley (talk | contribs) (document jcode details) |
Dextercowley (talk | contribs) (add beta 1.6 procedure) |
||
Line 93: | Line 93: | ||
As a check, make sure the following formula works: | As a check, make sure the following formula works: | ||
* Prior release total active issues + New Reports - (Closed + Fixed in SVN) should equal the Total Active Issues now. | * Prior release total active issues + New Reports - (Closed + Fixed in SVN) should equal the Total Active Issues now. | ||
+ | |||
+ | ===Version 1.6 Beta Release Checklist=== | ||
+ | In Joomlacode: | ||
+ | * Set package to visible and public. Set release to visible and released. | ||
+ | |||
+ | In joomla.org: | ||
+ | * Copy the article Joomla 1.6 Beta x Now Available to Joomla 1.6 Beta x+1 Now Available | ||
+ | ** Change to unpublished or Special access to prevent it showing on live site | ||
+ | ** Edit article to add new download links and links to prior release article | ||
+ | ** Change create date to release date to get correct order in module | ||
+ | * Edit article id=5252 (Joomla 1.6) to show new beta release | ||
+ | * Edit the module id=103 (Download 1.6) to show new beta number | ||
+ | * Edit the module id=98 (Copy of 1.6 Update) to show new beta number |
Revision as of 16:11, 6 August 2010
There is a general checklist when a version of Joomla! is released. Keep in mind that a major release differs a lot from a Minor Release or even a Maintenance Release. The checklist here describes the steps that need to be done for (at least) Maintenance Release and Minor Release.
Release checklist[edit]
It depends on the Development Cycle when the checklist is triggered. A release can be done during every stage of the Development Cycle, it does not matter if you release a beta or a stable version, this is a general checklist that can be used when releasing a new version of Joomla! The checklist starts when it's decided to release a version:
Preparation phase[edit]
- Communication pre-release: check with all Working Group Coordinators for status
- Communication pre-release: check with Lead Developers for status
- Communication pre-release: inform Bug Squad and Development Team of upcoming release
- Decision: when the above has positive result, set a date and time for release
- Communication pre-release: inform Global Moderators about upcoming release
- Communication pre-release: check availability and assign release tasks to Core and work-group members.
- Close trunk on predefined date and time (Development Coordinator, also sends an e-mail to development list).
- Image for front page download module, has to be modified for the release.
- Contact foundation work group for creation of Front page announcement.
- Determine release name
Pre-execution phase[edit]
- Apply latest translations (need to be delivered by translation work group).
- Create test package.
- Offer test package to testers: Bug Squad members, Development Team members, translation members
- If problems are found during this stage, go back to fix the problem. Use the Joomla! Maintenance Procedures and repeat until tests are performed successfully.
Execution phase[edit]
- Change version information.
- Enable install check.
- Add entry in CHANGELOG.php file
- Package build.
- Offer test package to testers: Bug Squad members, Development Team members, translation members
- If problems are found during this stage, go back to fix the problem. Use the Joomla! Maintenance Procedures and repeat until tests are performed successfully.
- Add package to joomlacode.org
- Before the release is public, set the joomlacode package flags as follows: Visible=No, Public=No, Require Login=Yes.
- Set the Release flags as follows: Visible=Yes, Released=Yes.
- Once package is released, change the Package flags to Visible=Yes, Public=Yes, Require Login=No.
- Change the prior version package to Visible=No but leave the prior version release flags as they are.
- Publish announcement on joomla.org and the forum, change download module image and link
- Make static copy of front page with announcement to be used if server load becomes critical.
Finalization phase[edit]
- Tag SVN.
- Un-freeze the trunk, send e-mail to work groups and mailing lists (Development Team and Bug Squad).
- Undo install check.
- Change content on joomla.org and dev.joomla.org (see pages to update)
- Update MD5 checksum information
- Update nightly builds to reflect new release
Pages to update[edit]
- Global:
- 1.5:
- Create new Wiki article called 'Category:Version 1.5.X FAQ'. Add an overall note for the release in the body of the article using the previous version as a Guide. Insert the following into the article: [[Category:Version 1.5 FAQ]]. Include a link to the 'Category:Version 1.5.x FAQ' page in the Release notes.
- Update Version History
- Update Joomla! Codenames
- 1.0:
Calculating Release Statistics[edit]
- Extract *all* issues from Tracker into spreadsheet. Make note of the date of the last release and the number of active issues at the time of the last release.
- Set a filter on the "Closed Date" column to be "after" "the day of the last release".
- Calculate "Closed" count by aggregating status values for Closed, Duplicate Report, Known Issue, Not a bug, Not Joomla! Core, Unable to Confirm.
- Calculate "Fixed in SVN" count by aggregating status values for Open and Information Required. (Note: this value is presented two times in the report.)
- Set a filter on the "Closed Date" column to be blanks:
- Calculate "Open" count by aggregating status values for "Open" and "Information Required."
- Calculate "Confirmed" count by aggregating status values for "Confirmed" and "In Progress."
- Calculate "Pending" count by aggregating status values for "Pending" and "Ready to Commit."
- Calculate the "New Active Issues" by aggregating the "Open", "Confirmed" and "Pending" counts.
- Calculate the "net increase/decrease" by subtracting the "Last Release Active Issues" from the "New Active Issues."
- Count the "number of commits" by reviewing the CHANGELOG.php file and counting the documented commits.
Alternative Method for Stats[edit]
- Fixed in SVN: Create query with close date > date of prior release and status = Fixed in SVN.
- Commits: Count from CHANGELOG.php as indicated above.
- New Reports: Run query with all status codes and open date > date of prior release.
- Increase / decrease in active issues: See note below
- Closed: Run query with closed date > date of prior release and status code one of Closed, Duplicate Report, Known Issue, Not a bug, Not Joomla! Core, Unable to Confirm.
- Open at time of release: query of all issues with status = Open or Information Required
- Confirmed at time of release: query of all issues with status = Confirmed or In Progress
- Pending at time of release: query of all issues with status = Pending or Ready to Commit
Increase/Decrease in Active Issues[edit]
- Total active issues now = Open at time of release + Confirmed at time of release + Pending at time of release
- This number minus the total active as of prior release is the net increase or decrease
As a check, make sure the following formula works:
- Prior release total active issues + New Reports - (Closed + Fixed in SVN) should equal the Total Active Issues now.
Version 1.6 Beta Release Checklist[edit]
In Joomlacode:
- Set package to visible and public. Set release to visible and released.
In joomla.org:
- Copy the article Joomla 1.6 Beta x Now Available to Joomla 1.6 Beta x+1 Now Available
- Change to unpublished or Special access to prevent it showing on live site
- Edit article to add new download links and links to prior release article
- Change create date to release date to get correct order in module
- Edit article id=5252 (Joomla 1.6) to show new beta release
- Edit the module id=103 (Download 1.6) to show new beta number
- Edit the module id=98 (Copy of 1.6 Update) to show new beta number