Skip to content

Release procedure

Carles Cufí edited this page Mar 9, 2018 · 31 revisions

Overview

This page documents the Release manager responsibilities so that it serves as a knowledge repository for Release managers.

Milestones

The description of the different Milestones leading to a release can be found in the following Program Management sections:

Release Checklist

Each release has a GitHub issue associated with it that contains the full checklist. After a release is complete, a checklist for the next release is created. This is the checklist for v1.11.0.

Tagging

Note: This section uses tagging 1.11.0-rc1 as an example, replace with the appropriate version.

Every time a release candidate (or the final release) needs to be tagged, the following steps need to be followed:

  1. Update the VERSION file in the root of the Git repository. If it's a release candidate, use EXTRAVERSION:
EXTRAVERSION = rc1
  1. Commit the update to the VERSION file, use release: as a commit tag.

  2. Tag and push the version, using annotated tags:

  • If it's a release candidate:
    $ git tag -a v1.11.0-rc1
    <Use "Zephyr 1.11.0-rc1" as the tag annotation>
    $ git push [email protected]:zephyrproject-rtos/zephyr.git v1.11.0-rc1
    
  • If it's a release:
    $ git tag -a zephyr-v1.11.0
    <Use "Zephyr 1.11.0" as the tag annotation>
    $ git push [email protected]:zephyrproject-rtos/zephyr.git v1.11.0
    
  1. If it's a release candidate, create a shortlog of changes between the previous release:
$ git shortlog v1.10.0..v.1.11.0-rc1
  1. Find the new tag at the top of the releases page, edit the release with the "Edit" button and then do the following:
  • If it's a release candidate:

    • Name it Zephyr 1.11.0-rc1
    • Copy the shortlog into the release notes textbox (don't forget to quote it properly so it shows as unformatted text in Markdown)
    • Check the "This is a pre-release" checkbox
  • If it's a release:

    • Name it Zephyr 1.11.0
    • Copy the full content of docs/release-notes-1.11.rst into the the release notes textbox
    • Copy the full list of GitHub issues closed with this release into the release notes textbox (see below on how to generate this list)
  1. Send an email to the mailing lists (zephyr-announce and zephyr-devel) with a link to the release

Listing all closed GitHub issues

The release notes for a final release contain the list of GitHub issues that have been closed during the development process of that release.

In order to obtain the list of issues closed during the release development cycle you can do the following:

Clone this wiki locally