Processes

Differences between revisions 1 and 52 (spanning 51 versions)
Revision 1 as of 2011-09-19 15:42:59
Size: 3260
Editor: 71-209-42-171
Comment: 2011-09-19; CharlieKravetz; a process/checklist to assist in getting all the items done for Xubuntu releases
Revision 52 as of 2014-07-20 19:46:17
Size: 12077
Editor: xdsl-83-150-81-40
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#title Xubuntu Release Process #title Xubuntu Processes
Line 5: Line 5:
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents>>|| = Xubuntu Processes =
Line 7: Line 7:
This page describes processes for Xubuntu development. All the processes and schedules should be used as a guidelines: This page ''mostly'' exists for us to document '''what we do''', not to tell us '''what to do'''. Minor issues and obvious shortcomings can be fixed without consulting, for larger-scale changes consult the team.
Line 8: Line 9:
To be carried out by: The Xubuntu Release Manager, with support from the Xubuntu Development Team and advice from the [[https://launchpad.net/~ubuntu-release|Ubuntu release team]] In addition to the Xubuntu processes described below, there are several generic Ubuntu processes that are useful for the team and described elsewhere:
 * [[FreezeExceptionProcess|Freeze exception process]] for getting to upload changes after a relevant freeze
 * [[SponsorshipProcess|Sponsorship process]] for getting new package uploads in the archive
Line 10: Line 13:
Goals: == Mailing list ==
Line 12: Line 15:
 * Ensure that all ISOs are suitable for release.
 * This process should apply to alphas, betas, [[ReleaseCandidate|ReleaseCandidates]], final releases, and milestones.
 * Ship it!
=== Developer list moderation ===
Since the developer list is meant exclusively for development coordination, people who send inappropriate mails to the list will eventually receive a moderation flag. The process is as following:
 1. User sends an inappropriate message to the list
 2. Any moderator sends a private mail to them (and CC's -owner) explaining the situation and that they should not send further inappropriate messages to the list
 3. User sends another inappropriate message to the list
 4. (Ideally the same) moderator follows up with -owner to get a moderation flag added to the user.
 5. A list owner adds a moderation flag for the user; after this, all messages from the user need to be manually approved. List owners can drop the moderation flag discretly if it seems the user improves mail quality after getting the moderation flag.
Line 16: Line 23:
== T minus 14 days == == Meetings ==
Line 18: Line 25:
 1. Forward notifications of milestone freeze to xubuntu-devel@lists.ubuntu.com mailing list.
 1. Insure freeze times are posted in #xubuntu-devel and xubuntu-devel@lists.ubuntu.com mailing list.
 1. Freeze Day - notify developers of freeze and change topic in #xubuntu-devel.
=== Meeting chairs ===
The community meetings are held in #xubuntu-devel and chaired by the Xubuntu team leads. The chairing team leader is cycled based on the team name. The actual upcoming chair list can be found in the comments of the [[Xubuntu/Meetings|Meetings]] page.
Line 22: Line 28:
== T minus 7 days == The chair is responsible for scheduling and announcing the meeting on the development mailing list, and for updating the wiki with the meeting time.
Line 24: Line 30:
 1. Request Xubuntu developers availability for milestone testing.
 1. Review [[https://wiki.ubuntu.com/Xubuntu/Testing | testing pages]] to insure they are up to date.
 1. Remind project lead to begin preparing release notes.
During any of the sections in the meeting, the chair can assign action items to individuals or teams with their permission. The chair should take care to copy these items to blueprint work items where applicable.
Line 28: Line 32:
== T minus 5 days == === Meeting minutes ===
Line 30: Line 34:
 * Testing should smoketest the images to insure they install. The team minutes will need to be added to the wiki after the meeting has ended. To do this, go to [[Xubuntu/Meetings/Archive/Minutes]] and use the input box for creating a minutes page. You will get the content for the page directly from [[meetingology]]s Moin output URL.
Line 32: Line 36:
== T minus 3 days == After you have created a minutes page, don't forget to update the '''Include''' in [[Xubuntu/Meetings]] as well as copy items marked with #done to the monthly team report at [[Xubuntu/TeamReports]].
Line 34: Line 38:
 1. Testing begins on the images available.
  * For alpha images, use the [[https://wiki.ubuntu.com/Xubuntu/Testing/TestingInfo/Short | short tests]].
  * For beta, rc, and final images, use the [[https://wiki.ubuntu.com/Xubuntu/Testing/TestingInfo/Long | long tests]].
  * All tests are recorded/tracked using the Ubuntu QA [[http://iso.qa.ubuntu.com/qatracker/build/xubuntu/all | ISO tracker]].
 1. Coordinate all testing with Ubuntu QA in #ubuntu-testing.
 1. Start the news article for the release; this is to be published on [[http://xubuntu.org | the website]] at the time of the release.
== Release cycle ==
Line 41: Line 40:
== T minus 1 day == ||<tablestyle="width: 95%;" style="border: none;" -5> The release cycle consists of 5 more or less overlapping stages, which are: ||
||<style="width: 20%; border: none; padding-top: 5px; border-top-left-radius: 10px; border-bottom-left-radius: 10px;" #d1e0f0 :> [[#Planning|Planning]] ||<style="width: 20%; border: none; padding-top: 5px;" #b7d1ea :> [[#Developing|Developing]] ||<style="width: 20%; border: none; padding-top: 5px;" #d1e0f0 :> [[#Testing|Testing]] ||<style="width: 20%; border: none; padding-top: 5px;" #b7d1ea :> [[#Releasing|Releasing]] ||<style="width: 20%; border: none; padding-top: 5px; border-top-right-radius: 10px; border-bottom-right-radius: 10px;" #d1e0f0 :> [[#Maintaining|Maintaining]] ||
Line 43: Line 43:
 1. Add release notes to the wiki.
  * Alpha notes are combined with Ubuntu release notes at https://wiki.ubuntu.com/ReleaseName/TechnicalOverview .
  * Beta and rc notes can be combined as alpha or, if significant changes were made should be separate under https://wiki.ubuntu.com/Xubuntu/ReleaseName/Milestone (example: https://wiki.ubuntu.com/Xubuntu/LucidLynx/Final).
=== Planning ===
Line 47: Line 45:
== Release Day == Planning the release is conducted in three phases:
 * Brainstorming
 * Approving blueprints
 * Finalizing specifications
Line 49: Line 50:
 1. Review the Technical Overview/Release Notes to insure everything is accurate.
 1. Monitor for release announcement and PASS IT ON when announced.
  * Publish news on the Xubuntu website.
  * For the final release, insure the website download page is updated for the new release.
 1. Review bugs to insure all bugs found during testing are listed at https://wiki.ubuntu.com/Xubuntu/Bugs/ReleaseName .
 1. Update the [[https://wiki.ubuntu.com/Xubuntu/TeamReports | Team Report]].
 1. Add milestone review to [[https://wiki.ubuntu.com/Xubuntu/Meetings | meeting agenda]].
  * Reviewing as soon as possible helps to learn what we could have done better.
  * This is also a great time to congratulate the team for a job well done.
In the brainstorming phase the contributors determine what they would like to work on during the release cycle, including proposals for changes in default applications. Anybody can items to the list. Settling on the goals in advance will make planning, focusing and estimating the likelihood for the features to be implemented easier.
Line 59: Line 52:
== T plus 7 days == After the brainstorming is over and before or on the Feature Definition Freeze day, the Xubuntu team will approve or reject the proposed blueprints. Any items with no assignee or rationale will be automatically rejected, but having them will not guarantee that the blueprint is approved. Other criteria include, but are not limited to: likelihood of getting the feature implemented, maintenance weight in the future, possible stability issues, influence on other blueprints, et cetera. The approved blueprints compose the roadmap for the release being developed.
Line 61: Line 54:
 * Review this page and update it as needed for the next milestone/release period.
 * Reviewing as soon as possible helps keep this as up to date as possible.
After blueprints are approved, they should be finalized and detailed specifications should be written. These specifications should document the proposed changes and help guide the implementation. The Ubuntu freezes define the deadlines for implementation.

=== Developing ===

In addition to implementing the features and/or improvements set in the roadmap, there are a number of tasks which will occur during each release cycle:
 * Xubuntu packages will be synced or merged with Debian as appropriate
 * Bugs reported by users will be reviewed, fixed, and/or passed upstream
 * Attempt to reduce our delta by pushing appropriate patches upstream
 * Evaluate the seeds to ensure we are shipping the optimal software
 * Work on improving and updating the Xubuntu documentation and artwork

=== Testing ===

Throughout the release cycle and even more so nearing the end, we will test Xubuntu to ensure that Xubuntu is a quality product that we are proud of. This includes testing that changes we have been making meet the release goals, work as expected, and do not cause regressions. Any tests run should be reported to the QA trackers. To read more about conducting tests and reporting them, refer to the [[Testing/QATracker|QA tracker wiki page]].

The Xubuntu testing team will help ensure that when milestone ISOs are released, all tests are completed and results reported to the tracker. Xubuntu testers will also test the daily builds, upgrading through supported release paths and running the development version of Xubuntu on a daily basis to help detect problems. The most important goals for testing the daily images are simply to find as many bugs as possible and report them with sufficient detail to the tracker along with the ISO testing result.

The Xubuntu testing team also helps test applications that are included in Xubuntu and make sure sufficient amount of testing is made and results reported to the packages tracker. Additional testing should be conducted when a new default application is to be included in the next Xubuntu release.

The team uses the following schedule for testing:
||<^ #eeeeee> ''' 7 days before release ''' || Gather people for milestone testing ||
||<^ #eeeeee> ''' 5 days before release ''' || Smoketest images - automatic, reported by Jenkins ||
||<^ #eeeeee> ''' 3 days before release ''' || Start milestone testing once appropriate testing area set up ||
||<^ #eeeeee> ''' Release day ''' || Mark images ready on the ISO tracker once the release team is confident to do so ||

=== Releasing ===

When it comes time to deploy a release (both milestones and final) several conditions must be met:
 * Appropriate testing has been done on the image
 * There are no known bugs which cause data loss or damage to hardware
 * The image must not be oversized
 * Xubuntu must be of sufficient quality that it would not damage Xubuntu's, Ubuntu's, or any of the other flavors' reputation/image.

When a release is made, the Xubuntu Release Team must follow the release process specified below. The release process ensures that the new release has sufficient release notes and release announcement and that all release-specific communication is updated to inform about the new release. Where needed, advice from the [[LaunchpadHome:ubuntu-release|Ubuntu release team]] should be asked for.

||<^ #eeeeee> ''' User Interface Freeze ''' || Upload artwork and slideshow packages ||
||<^ #eeeeee> ''' Documentation String Freeze ''' || Update translation templates <<BR>> Upload documentation packages ||
||<^ #eeeeee> ''' Non-Language Pack Translation Deadline ''' || Upload documentation and slideshow packages ||
||<^ #eeeeee> ''' 14 days before release ''' || Reminder to update the website FAQ (final release only) ||
||<^ #eeeeee> ''' 7 days before release ''' || Start preparing release notes and release announcement ||
||<^ #eeeeee> ''' Release day ''' || Publish release announcement and notes <<BR>> Update the website, IRC channel topics and social media outlets with new release information ||
||<^ #eeeeee> ''' After release ''' (final release only) || [[Xubuntu/Processes#Wiki_maintaining|Update the developer wiki to next release]] <<BR>> Set up appropriate branches (documentation, ...) in Launchpad <<BR>> Review and update this page ||

=== Maintaining ===

After a release is made, bugs and problems are bound to be reported. The period between the release and the start of the next release cycle is the optimal time to perform Stable Release Updates (SRU) for major bugs as long as developers do not forget to fix the issue in the next release as well, once the repository opens. Once the next release cycle has started, primary focus will be on the next release and the severity/importance of the SRU candidates will be more important when it comes to deciding whether an SRU will be performed or not.

== Wiki maintaining ==

=== Update on release ===
||<^ #eeeeee> [[Xubuntu/Toolbox/Menu]] || Update the middle column header ||
||<^ #eeeeee> [[Xubuntu/Roadmap/Goals/Codename]] || Add a new roadmap page (easiest way is to copy over the old one) ||
||<^ #eeeeee> [[Xubuntu/Roadmap]] || Point the include to the new roadmap subpage ||
||<^ #eeeeee> [[Xubuntu/Roadmap/Specifications/Codename]] || Add a new page with navigation: {{{<<Navigation(children,1)>>}}} ||
||<^ #eeeeee> [[Xubuntu/Roadmap/Specifications]] || Update the form to point new specifications under the correct subpage ||

=== Update monthly ===

||<^ #eeeeee> [[Xubuntu/TeamReports]] || Add links to xubuntu.org posts and meetings, also Team updates from meetings, see also: [[BuildingCommunity/TeamReporting|TeamReporting]] ||

== Website maintaining ==

The website is a Word``Press instance maintained by Canonical IS and overseen by the Xubuntu web team who can submit tickets to Canonical for any problems. Bugs for the team to review can be submitted [[https://bugs.launchpad.net/xubuntu-website/+bugs|on Launchpad]].

=== Update on release ===

 * Screenshots
  * Slideshow (main page)
  * [[http://xubuntu.org/tour/|Feature Tour]]
  * [[http://xubuntu.org/screenshots/|Screenshots]]
 * Rotate [[http://xubuntu.org/press/|In the press]]
 * Release FAQ blog post
 * Add new release to [[http://xubuntu.org/help/|Help & Support]] and [[http://xubuntu.org/getxubuntu/|Get Xubuntu]]

=== Update on point releases ===

 * Update download links on [[http://xubuntu.org/getxubuntu/|Get Xubuntu]]

=== Update on release EOL ===

 * Update the supported releases list at [[http://xubuntu.org/help/|Help & Support]]
 * Update the [[http://docs.xubuntu.org/|documentation subdomain]] (branch at [[https://launchpad.net/xubuntu-website/docs-startpage]])

== XPL nominee wiki page requirements ==

To increase transparency and to make sure relevant information is available for the Xubuntu team members to vote, the nominees are required to provide a wiki page with at least the following information:
 * A brief history of the nominee in the FOSS world
 * Activities in any relevant teams
 * Thoughts about the Xubuntu development, including the biggest challenges and possibilities
 * Areas of interest as a XPL, including any changes the nominee is wishing to see in the team

Xubuntu Processes

This page describes processes for Xubuntu development. All the processes and schedules should be used as a guidelines: This page mostly exists for us to document what we do, not to tell us what to do. Minor issues and obvious shortcomings can be fixed without consulting, for larger-scale changes consult the team.

In addition to the Xubuntu processes described below, there are several generic Ubuntu processes that are useful for the team and described elsewhere:

Mailing list

Developer list moderation

Since the developer list is meant exclusively for development coordination, people who send inappropriate mails to the list will eventually receive a moderation flag. The process is as following:

  1. User sends an inappropriate message to the list
  2. Any moderator sends a private mail to them (and CC's -owner) explaining the situation and that they should not send further inappropriate messages to the list
  3. User sends another inappropriate message to the list
  4. (Ideally the same) moderator follows up with -owner to get a moderation flag added to the user.
  5. A list owner adds a moderation flag for the user; after this, all messages from the user need to be manually approved. List owners can drop the moderation flag discretly if it seems the user improves mail quality after getting the moderation flag.

Meetings

Meeting chairs

The community meetings are held in #xubuntu-devel and chaired by the Xubuntu team leads. The chairing team leader is cycled based on the team name. The actual upcoming chair list can be found in the comments of the Meetings page.

The chair is responsible for scheduling and announcing the meeting on the development mailing list, and for updating the wiki with the meeting time.

During any of the sections in the meeting, the chair can assign action items to individuals or teams with their permission. The chair should take care to copy these items to blueprint work items where applicable.

Meeting minutes

The team minutes will need to be added to the wiki after the meeting has ended. To do this, go to Xubuntu/Meetings/Archive/Minutes and use the input box for creating a minutes page. You will get the content for the page directly from meetingologys Moin output URL.

After you have created a minutes page, don't forget to update the Include in Xubuntu/Meetings as well as copy items marked with #done to the monthly team report at Xubuntu/TeamReports.

Release cycle

The release cycle consists of 5 more or less overlapping stages, which are:

Planning

Developing

Testing

Releasing

Maintaining

Planning

Planning the release is conducted in three phases:

  • Brainstorming
  • Approving blueprints
  • Finalizing specifications

In the brainstorming phase the contributors determine what they would like to work on during the release cycle, including proposals for changes in default applications. Anybody can items to the list. Settling on the goals in advance will make planning, focusing and estimating the likelihood for the features to be implemented easier.

After the brainstorming is over and before or on the Feature Definition Freeze day, the Xubuntu team will approve or reject the proposed blueprints. Any items with no assignee or rationale will be automatically rejected, but having them will not guarantee that the blueprint is approved. Other criteria include, but are not limited to: likelihood of getting the feature implemented, maintenance weight in the future, possible stability issues, influence on other blueprints, et cetera. The approved blueprints compose the roadmap for the release being developed.

After blueprints are approved, they should be finalized and detailed specifications should be written. These specifications should document the proposed changes and help guide the implementation. The Ubuntu freezes define the deadlines for implementation.

Developing

In addition to implementing the features and/or improvements set in the roadmap, there are a number of tasks which will occur during each release cycle:

  • Xubuntu packages will be synced or merged with Debian as appropriate
  • Bugs reported by users will be reviewed, fixed, and/or passed upstream
  • Attempt to reduce our delta by pushing appropriate patches upstream
  • Evaluate the seeds to ensure we are shipping the optimal software
  • Work on improving and updating the Xubuntu documentation and artwork

Testing

Throughout the release cycle and even more so nearing the end, we will test Xubuntu to ensure that Xubuntu is a quality product that we are proud of. This includes testing that changes we have been making meet the release goals, work as expected, and do not cause regressions. Any tests run should be reported to the QA trackers. To read more about conducting tests and reporting them, refer to the QA tracker wiki page.

The Xubuntu testing team will help ensure that when milestone ISOs are released, all tests are completed and results reported to the tracker. Xubuntu testers will also test the daily builds, upgrading through supported release paths and running the development version of Xubuntu on a daily basis to help detect problems. The most important goals for testing the daily images are simply to find as many bugs as possible and report them with sufficient detail to the tracker along with the ISO testing result.

The Xubuntu testing team also helps test applications that are included in Xubuntu and make sure sufficient amount of testing is made and results reported to the packages tracker. Additional testing should be conducted when a new default application is to be included in the next Xubuntu release.

The team uses the following schedule for testing:

7 days before release

Gather people for milestone testing

5 days before release

Smoketest images - automatic, reported by Jenkins

3 days before release

Start milestone testing once appropriate testing area set up

Release day

Mark images ready on the ISO tracker once the release team is confident to do so

Releasing

When it comes time to deploy a release (both milestones and final) several conditions must be met:

  • Appropriate testing has been done on the image
  • There are no known bugs which cause data loss or damage to hardware
  • The image must not be oversized
  • Xubuntu must be of sufficient quality that it would not damage Xubuntu's, Ubuntu's, or any of the other flavors' reputation/image.

When a release is made, the Xubuntu Release Team must follow the release process specified below. The release process ensures that the new release has sufficient release notes and release announcement and that all release-specific communication is updated to inform about the new release. Where needed, advice from the Ubuntu release team should be asked for.

User Interface Freeze

Upload artwork and slideshow packages

Documentation String Freeze

Update translation templates
Upload documentation packages

Non-Language Pack Translation Deadline

Upload documentation and slideshow packages

14 days before release

Reminder to update the website FAQ (final release only)

7 days before release

Start preparing release notes and release announcement

Release day

Publish release announcement and notes
Update the website, IRC channel topics and social media outlets with new release information

After release (final release only)

Update the developer wiki to next release
Set up appropriate branches (documentation, ...) in Launchpad
Review and update this page

Maintaining

After a release is made, bugs and problems are bound to be reported. The period between the release and the start of the next release cycle is the optimal time to perform Stable Release Updates (SRU) for major bugs as long as developers do not forget to fix the issue in the next release as well, once the repository opens. Once the next release cycle has started, primary focus will be on the next release and the severity/importance of the SRU candidates will be more important when it comes to deciding whether an SRU will be performed or not.

Wiki maintaining

Update on release

Xubuntu/Toolbox/Menu

 Update the middle column header

Xubuntu/Roadmap/Goals/Codename

 Add a new roadmap page (easiest way is to copy over the old one)

Xubuntu/Roadmap

Point the include to the new roadmap subpage

 Xubuntu/Roadmap/Specifications/Codename

Add a new page with navigation: <<Navigation(children,1)>>

Xubuntu/Roadmap/Specifications

Update the form to point new specifications under the correct subpage

Update monthly

Xubuntu/TeamReports

Add links to xubuntu.org posts and meetings, also Team updates from meetings, see also: TeamReporting

Website maintaining

The website is a WordPress instance maintained by Canonical IS and overseen by the Xubuntu web team who can submit tickets to Canonical for any problems. Bugs for the team to review can be submitted on Launchpad.

Update on release

Update on point releases

Update on release EOL

XPL nominee wiki page requirements

To increase transparency and to make sure relevant information is available for the Xubuntu team members to vote, the nominees are required to provide a wiki page with at least the following information:

  • A brief history of the nominee in the FOSS world
  • Activities in any relevant teams
  • Thoughts about the Xubuntu development, including the biggest challenges and possibilities
  • Areas of interest as a XPL, including any changes the nominee is wishing to see in the team

Xubuntu/Processes (last edited 2016-02-16 17:58:09 by xdsl-83-150-81-40)