Changeset 06a8f10 in rtems-docs


Ignore:
Timestamp:
Jun 26, 2020, 5:16:13 AM (2 weeks ago)
Author:
Chris Johns <chrisj@…>
Branches:
master
Children:
16c326c
Parents:
1b2468c
Message:

eng: Update the release procedure.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • eng/release-process.rst

    r1b2468c r06a8f10  
    1111The release process creates an RTEMS release. The process has a number of
    1212stages that happen before a release can be made, during the creation of the
    13 release procedure and after the release has been made.
     13release and after the release has been made.
    1414
    1515Releases
     
    160160action is to be performed in the following repositories:
    161161
    162 #. rtems.git
    163 
    164 #. rtems-docs.git
    165 
    166 #. rtems-examples.git
    167 
    168 #. rtems-libbsd.git
    169 
    170 #. rtems-source-builder.git
    171 
    172 #. rtems-tools
    173 
    174 #. rtems_waf
     162#. ``rtems.git``
     163
     164#. ``rtems-docs.git``
     165
     166#. ``rtems-examples.git``
     167
     168#. ``rtems-libbsd.git``
     169
     170#. ``rtems-source-builder.git``
     171
     172#. ``rtems-tools.git``
     173
     174#. ``rtems_waf.git``
     175
     176#. ``rtems-release.git``
    175177
    176178Pre-Release Procedure
    177179=====================
    178180
    179 * All tickets must be resolved, closed or moved to a later milestone.
     181* All tickets must be resolved, closed or moved to a later
     182  milestone. Tickets can exist that are specific to the branch and are
     183  to be resolved before the first release is made.
     184
     185* Create release snapshots and post suitable build and test results.
     186
     187Release Branching
     188=================
     189
     190A release has a release branch in each of the release repositories. A
     191release is a created from a release branch. The release branch label
     192is the RTEMS major version number.
     193
     194LibBSD Release Branch
     195---------------------
     196
     197The ``rtems-libbsd.git`` is an exception as it has two active release
     198branches. The repository has a release branch based on the ``master``
     199like all the release repositories and it can have a FreeBSD version
     200specific release branch that is used in the release.
     201
     202LibBSD runs two branches during it's development cycle. The ``master``
     203branch tracks the FreeBSD ``master`` branch. This means LibBSD tracks
     204FreeBSD's development. LibBSD also tracks a FreeBSD branch for the
     205RTEMS release. For example RTEMS 5 tracks FreeBSD 12 as it's release
     206base. This provides functionaly stability to the RTEMS 5 release by
     207allowing a control process to track bug fixes in FreeBSD 12.
     208
     209Pre-Branch Procedure
     210--------------------
     211
     212* All tickets assigned to the release's first milestone must be
     213  resolved. Tickets can exist that are specific to the branch and are
     214  to be resolved before the first release is made.
    180215
    181216* The following BSP must build using the RSB:
    182217
    183218  - ``arm/beagleboneblack``
     219
     220* Check and make sure the RSB kernel, libbsd and tools configurations
     221  reference the ``master`` when the branch is made.
     222
     223  The RSB GIT builds reference a specific commit so it is important
     224  the relevant configurations are valid.
     225
     226Branch Procedure
     227----------------
    184228
    185229* Branch labels are the major number as branch releases increment the minor
     
    190234  .. code-block:: none
    191235
     236      git clone <URL>/<REPO> <REPO>
     237      cd <REPO>
    192238      git checkout -b <VERSION> origin/master
    193239      git push origin <VERSION>
     
    202248      git push origin 5
    203249
     250* Check and make sure the RSB kernel, libbsd and tools reference the
     251  branch commit.
     252
     253Post-Branch Procedure
     254---------------------
     255
     256#. Create a release page for the next RTEMS release in Trac.
     257
     258#. Update the releases table. The page link is:
     259
     260     https://devel.rtems.org/wiki/Release
     261
     262   Update the table adding the new development release to the top
     263   moving down the previous releases.
     264
     265   Label the new release branch as "Releasing". The documentation link
     266   is left pointing to ``master`` until the release is made and the
     267   documentation is installed on the RTEMS Documentation web site.
     268
     269#. Update the release table in the front page of the Trac Wiki. The
     270   page link is:
     271
     272     https://devel.rtems.org/wiki/
     273
     274#. Add the milestones for the new development branch. The Trac page
     275   is:
     276
     277  .. code-block:: none
     278
     279    = 6.1 (open)
     280
     281    == Statistics
     282
     283    ||   '''Total'''||[[TicketQuery(milestone=6.1,count)]]                                      ||
     284    ||         Fixed||[[TicketQuery(status=closed&milestone=6.1,resolution=fixed,count,)]]      ||
     285    ||       Invalid||[[TicketQuery(status=closed&milestone=6.1,resolution=invalid,count,)]]    ||
     286    ||  Works for me||[[TicketQuery(status=closed&milestone=6.1,resolution=worksforme,count,)]] ||
     287    ||     Duplicate||[[TicketQuery(status=closed&milestone=6.1,resolution=duplicate,count,)]]  ||
     288    ||     Won't fix||[[TicketQuery(status=closed&milestone=6.1,resolution=wontfix,count,)]]    ||
     289
     290    == Distribution
     291    [[TicketQuery(milestone=6.1&group=type,format=progress)]]
     292
     293    == Summary
     294    [[TicketQuery(milestone=6.1)]]
     295
     296    == Details
     297    [[TicketQuery(col=id|time|resolution|component|reporter|owner|changetime,status=closed&milestone=6.1,rows=summary|description,table)]]
     298
     299  Replace ``6.1`` with the required milestone.
     300
     301#. Create the RC1 release candidate with the source as close the
     302   branch point as possible.
     303
     304#. Create a ticket to the clean the RSB for the release. The RSB's
     305   ``master`` branch carries a number of older configurations and new
     306   release configurations. These can be confusing to a new user and
     307   add no value to a released RSB. For example leaving RTEMS 6 tool
     308   building configurations in the RTEMS 5 release.
     309
     310Post-Branch Version Number Updates
     311^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     312
     313After the release repositored have been branched the ``master`` branch
     314has to have the major version number updated. The follow is a list of
     315the needed changes.
     316
     317#. RSB requires the following files be changed:
     318
     319   ``source-builder/sb/version.py``
     320     Update ``_version``.
     321
     322#. RTEMS Tools requires the following files be changed:
     323
     324   ``config/rtems-version.ini``
     325     Update ``revision``,
     326
    204327Release Procedure
    205328=================
     
    210333path on the RTEMS server.
    211334
    212 #. To create the RTEMS release run the release script:
    213 
    214    .. code-block:: none
    215 
    216        ./rtems-release <VERSION> <REVISION>
     335#. The release process starts by branching the repositories. To branch
     336   run the script:
     337
     338   .. code-block:: none
     339
     340       ./rtems-release-branch [-p] <USER> <VERSION> <REVISION>
    217341
    218342   Example:
     
    225349       git clone git://git.rtems.org/rtems-release.git rtems-release.git
    226350       cd rtems-release.git
     351       ./rtems-release-branch -p chrisj 5
     352
     353   You need to have suitable commit access to the repositories.
     354
     355#. To create the RTEMS release run the release script:
     356
     357   .. code-block:: none
     358
     359       ./rtems-release <VERSION> <REVISION>
     360
     361   Example:
     362
     363   .. code-block:: none
     364
    227365       ./rtems-release 5 1.0
    228366
     
    268406The following procedures are performed after a release has been created.
    269407
    270 #. TBD
     408#. Update the release to the RTEMS servers:
     409
     410   .. code-block:: none
     411
     412     rsync --rsh=ssh -arv 5.1.0 chrisj@dispatch.rtems.org:/data/ftp/pub/rtems/releases/5/.
     413
     414#. Test a build of the ``beagleboneblack`` BSP.
Note: See TracChangeset for help on using the changeset viewer.