Changes between Version 10 and Version 11 of WebKitGTK/Releasing


Ignore:
Timestamp:
Feb 23, 2012 9:31:05 AM (9 years ago)
Author:
Martin Robinson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WebKitGTK/Releasing

    v10 v11  
    33This document describes the steps toward making a release. To understand release strategy and timing please see [https://trac.webkit.org/wiki/WebKitGTKStableReleases]
    44
    5  * In order to run distcheck, you need [http://thread.gmane.org/gmane.comp.gnu.make.bugs/4219 patched] version of make
    6  * Make sure you are up to date and don't have local changes or commits
    7  * Check that the bots are not horribly broken and/or run the layout tests locally and see that they are in reasonable good health
    8  * Fill out an entry in the NEWS file
    9   * Identify the commit id of the previous release (NEWS file is normally changed only when releasing, so you could get the commit id of the previous release by looking at NEWS history)
    10   * Summarize major changes briefly in a style similar to other entries in NEWS.
    11   * You can use [https://trac.webkit.org/attachment/wiki/WebKitGTK/Releasing/gtk-release-notes gtk-release-notes] script.
    12    * Copy the script to Tools/Scripts and run it giving the commit id of the previous release.
    13    * It returns a list of bugs fixed since the given revision that might be related to the GTK port and the list fo people who fixed every bug.
    14   * Take special care to note any additions in the API. The following command will show each patch that has changed a public header file since the given version:
     5== 1. The last commit before release ==
     6  * Update the NEWS file using the same format as the previous entry.
     7      * Identify the commit id of the previous release (NEWS file is normally changed only when releasing, so you could get the commit id of the previous release by looking at NEWS history)
     8      * Summarize major changes briefly in a style similar to other entries in NEWS.
     9      * You can use [https://trac.webkit.org/attachment/wiki/WebKitGTK/Releasing/gtk-release-notes gtk-release-notes] script.
     10           * Copy the script to Tools/Scripts and run it giving the commit id of the previous release.
     11           * It returns a list of bugs fixed since the given revision that might be related to the GTK port and the list fo people who fixed every bug.
     12      * Take special care to note any additions in the API. The following command will show each patch that has changed a public header file since the given version:
    1513{{{
    1614$ find Source/WebKit/gtk/webkit/ -name "webkit*.h" ! -name '*private.h' | xargs git log -p <commit-id-of-previous-release>.. --
    1715}}}
    18  * Increment version numbers
    19   * Increment webkit_{minor|micro}_version (release version)
    20   * Increment LIBWEBKITGTK_VERSION=C:R:A (library version)
    21    * C (current): increment if the interface has additions, changes, removals.
    22    * R (revision): increment any time the source changes; set to 0 if you increment CURRENT
    23    * A (age): increment if any interfaces have been added; set to 0 if any interfaces have been changed or removed. Removal has precedence over adding, so set to 0 if both happened.
    24   * Increment webkit_user_agent_{major|minor}_version according to the values in [https://trac.webkit.org/browser/trunk/Source/WebCore/Configurations/Version.xcconfig Source/WebCore/Configurations/Version.xcconfig] (user agent version)
    25  * Run "make distcheck"
    26   * Running "make distcheck" should result in no warnings or errors
    27   * It should show you something like this:
    28 {{{
     16  * Update configure.ac:
     17    * The public version is controlled by the lines:
     18        {{{
     19m4_define([webkit_major_version], [1])
     20m4_define([webkit_minor_version], [7])
     21m4_define([webkit_micro_version], [5])
     22        }}}
     23    * The [http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html libtool library version] is controlled by the line:
     24     {{{ LIBWEBKITGTK_VERSION=12:0:12 }}}
     25    * The user-agent version should be updated from Source/WebCore/Configurations/Version.xcconfig. It's controlled by the lines:
     26    {{{
     27m4_define([webkit_user_agent_major_version], [535])
     28m4_define([webkit_user_agent_minor_version], [20])
     29    }}}
     30
     31 == 2. Run final tests before release ==
     32  * Run `make distcheck` with the [http://thread.gmane.org/gmane.comp.gnu.make.bugs/4219 patched version of gnumake].
     33    * Running "make distcheck" should result in no warnings or errors and show:
     34    {{{
    2935==================================================
    3036webkit-X.Y.Z archives ready for distribution:
     
    3238==================================================
    3339}}}
    34  * Commit the changes to NEWS and configure.ac. It's especially important to mention the new version number in your commit message.
    35  * Tag the release
     40 * Check that the bots are not horribly broken and run the layout tests locally and see that they are in reasonably good health
     41
     42
     43== 3. Make the release ==
     44 * `make distcheck` should have created tarball in the build directory. Upload it to petibonum.igalia.com.
     45 * Upload the tarball to petibonum.igalia.com
     46 * Update the website to add the annoucement and download link
     47 * Tag the release using the command:
    3648{{{
    3749svn cp http://svn.webkit.org/repository/webkit/trunk/  http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-[release version]
    3850}}}
    39  * Upload the tarball to petibonum.igalia.com
    40  * Update the website to add the annoucement and download link
    41  * If there are API changes update the API documentation (FIXME: how?)
    42  * Send a message to announce the new release to webkit-gtk@lists.webkit.org with CC: gnome-announce-list@gnome.org
    43  * Update the WebKitGTK+ entry of the current modueset in jhbuild repository
     51
     52== 4. After the release ==
     53 * Update the API documentation (FIXME: how?)
     54 * Send a message to announce the new release to webkit-gtk@lists.webkit.org with CC: gnome-announce-list@gnome.org. You can use previous announcements as a template.
     55 * If this release is part of a Gnome release, update the WebKitGTK+ entry of the current modueset in jhbuild repository
    4456 * Update the IRC topic message
    45 
    46 == Releasing from a stable branch ==
    47 TODO