Changes between Version 5 and Version 6 of SandBox


Ignore:
Timestamp:
Oct 19, 2010, 6:58:29 AM (14 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SandBox

    v5 v6  
    1 These are some notes pertaining to the R1 Alpha 2 release cycle.
     1= The Sandbox =
    22
    3 The order is semi-random.  Feel free to make additions.
     3This is just a page to practice and learn WikiFormatting.
    44
    5 For now, it's on this page & in the future it may be moved elsewhere or deleted entirely.
    6 
    7 
    8 = Hindsight =
    9 These are some general points of the R1/A2 release
    10  * rushed feeling
    11  * too many drastic changesets being committed
    12  * large overhead of reviewing changesets
    13  * no formal QA
    14    i. no way to monitor QA
    15    i. not enough testing of "final" images
    16 
    17 ----
    18 = Summary =
    19 == Release Phase : Mindset ==
    20  1. realize that there will be issues in the release
    21  1. the release phase is for polishing the code -- not for anything to potentially destablize it
    22  1. there will always be another release, another opportunity to introduce new bugs
    23 == Enhancements ==
    24  * Increase duration of release schedule -- eg, add more days
    25  * Stricter commit policy during schedule
    26    i. Policy increases as the deadline approaches
    27    i. Main focus on testing & fixing small issues
    28    i. Will lessen the need for a Changset Reviewer
    29  * Introduce "cool down" phase
    30    i. build the final release images several days before the release date.
    31    i. allows increased testing and less chances of major issues slipping by.
    32  * At the beginning of that phase the code base would basically be ready for the release already, including all optional packages. The main focus should be on testing and fixing small annoyances.
    33  * More organized QA process
    34    i. detailed checklists for testing images
    35    i. QA manager/coordinator
    36 
    37 
    38 ----
    39 = Detailed Breakdown =
    40 
    41 == Pre-Branching ==
    42 This is an actual phase of the release schedule.
    43 It's purpose is to grab the attention of all contributors -- committers, bug reporters, translators, everyone.
    44  * strong announcement of plan to enter release cycle mode
    45   i. post on mailing list & website
    46   i. explain new procedures in release cycle
    47     * stricter commit policy
    48     * formalization of QA
    49     * other new tasks
    50  * proposal/vote stage
    51    i. new optional package
    52    i. show-stopping bugs/issues to resolve first
    53  * allows time for developers to push any remaining drastic changesets
    54  * allows optional-packages to be rebuilt
    55  * determine & publish (tentative) release cycle timeline
    56 
    57 The needs to be ample time between the decision of when to branch and the actual branching . This is especially important for R1/A3, as there have been numerous API changes and 3rd party software may need to be updated to work properly
    58 
    59 
    60 === Pre-Branching: Tasks ===
    61  * http://dev.haiku-os.org/wiki/R1/ReleaseRoadMap
    62  * stub out wiki pages (http://dev.haiku-os.org/wiki/R1/Alpha3/)
    63    i. FeatureProposals (unused in R1/A2)
    64    i. StatusAndCoordination (possibly break down to Tasks, Timeline)
    65    i. MergeTracking (hopefully not needed)
    66    i. RebuildingOptionalPackages
    67    i. QualityAssurance
    68    i. ReleaseNotes
    69       * provide link to ReleaseAddendum
    70       * possibly link to ImprovementsSinceRelease , ReportedIssues
    71    i. ReleaseAddendum
    72    i. ReportedIssues
    73    i. ImprovementsSinceRelease
    74    i. InThePress
    75 
    76 
    77 == Upon Branching ==
    78 This is the official start of the release cycle.
    79 '''Enforce a stricter commit policy'''
    80   * only minor changes to fix reported bugs
    81   * optional packages can only be fixed -- not updated simply for the sake of it
    82   * reduces the need of a formal "Changset Reviewer" or branch maintainer
    83   * reduces the chance of destablizing release
    84 
    85 
    86 === Upon Branching: Tasks ===
    87  * MergeTracking script (hopefully not needed)
    88  * Organize the press release
    89    i. where to send it for review
    90       * need to allow project members to review/edit it as needed.
    91    i. most information can be done beforehand -- fill in the exact dates & revision later
    92    i. organize translators
    93 
    94 == Before Tagging ==
    95 This is near the end of the release cycle.
    96 '''Enforce a "pencils down" date -- only show-stopping issues may be resolved'''
    97 The attention shifts from producing code to finalizing details
    98 
    99 === Before Tagging: Tasks ===
    100  1. disable serial debugging
    101  1. remove the sleeps in the Bootscript
    102  1. build feature-final images for testing -- the only thing to be different is the reported SVN revision in AboutSystem, Kernel, etc.
    103  1. ensure all points of QA are completed
    104  1. ensure all documents and related pages are ready to be rolled out
    105 
    106 Immediately before tagging:
    107  1. build/jam/ReleaseBuildProfiles
    108    {{{
    109    # Uncomment in official release branch.
    110    HAIKU_DEFINES += HAIKU_OFFICIAL_RELEASE ;
    111    TARGET_DEFINES += HAIKU_OFFICIAL_RELEASE ;
    112    }}}
    113    
    114 
    115 == Upon Tagging ==
    116  1. Trac Administration
    117    i. create new default 'version'
    118    i. close current milestone
    119  1. Internal Testing
    120    i. build the final-for-distribution images
    121    i. test the final-for-distribution images -- not all points, but more of to ensure the images are built properly & function as expected.
    122    i. harvest public keys from svn.haiku-os.org
    123    i. {{{ sudo bash ; export allkeys=`find /home -type f -name "authorized_key*"` ; for key in $allkeys; do cat $key >> allkeys.pub ; done }}}
    124  1. Create tar.xz sources for Haiku & Buildtools
    125    i. {{{ tar --exclude=.svn -cJf <archive>.tar.xz directory/ }}}
    126  1. Copy all sources to http://haiku-files.org/files/releases/r1alpha2/sources/
    127    i. simply allow the .OptionalPackageDescriptions & InstallSourceArchive to point to http://haiku-files.org/files/sources
    128  1. Place release files on baron for rsync mirrors
    129  
    130 ----
    131 = Stuff to organize more =
    132 
    133 == Quality Assurance ==
    134  * each image type (anyboot, vmware, ...) needs to be tested for:
    135    i. booting from medium
    136    i. booting on hardware
    137    i. installation from all mediums
    138  * testing of all optional packages for missing dependencies
    139 
    140 == Mirrors ==
    141 
    142 === Automatic rsync mirrors ===
    143         TBD -- how to add new rsync mirrors?
    144 
    145 === Manual upload/push mirrors ===
    146         TBD -- maybe we can ditch the non-rsync mirrors?
    147 
    148 === Installing files for rsync ===
    149  Include all image archive files, md5sums.txt, *.torrent, sources/
    150         {{{
    151         baron.haiku-os.org
    152         /srv/rsync/haiku-mirror-seed/releases/
    153         }}}
    154 
    155 
    156 == Flipping the switch ==
    157  1. update http://dev.haiku-os.org/wiki/R1/ReleaseRoadMap to display Release date & revision
    158  1. Documents & articles rolled out.
    159 
    160 = Graphics =
    161  * Stamp
    162  * HAIKU logo with ladybugs & stamp
    163  * Installer logo
    164  * Desktop logo (though, do not enable it)
    165  * Frontpage download graphic
    166  * CD/DVD graphic
    167 
    168 = Website Pages =
    169  * Official Article
    170  * http://www.haiku-os.org/get-haiku
    171  * http://www.haiku-os.org/get-haiku/release-notes
    172  * http://www.haiku-os.org/get-haiku/installation-guide
    173  * http://www.haiku-os.org/get-haiku/burn-cd
    174  * http://www.haiku-os.org/guides/making_haiku_usb_stick
    175  * http://www.haiku-os.org/slideshows/haiku-tour
    176  * http://www.haiku-os.org/docs/userguide/en/contents.html -- sync with branch or tag.
    177 
    178 == Installing Drupal's front page graphic ==
    179   {{{
    180   sudo bash
    181   cd /srv/www/drupal/haiku-os.org/themes/shijin/haiku-images
    182   mv bg-download-box.png GET-HAIKU-download-box-r1a1.png
    183   cp GET-HAIKU-download-box-r1a2.png bg-download-box.png
    184   }}}
     5Go ahead, edit it freely.