User:Tracy Graydon/Release Process: Difference between revisions

From Yocto Project
Jump to navigationJump to search
Line 24: Line 24:
* Sync to external mirrors.
* Sync to external mirrors.
* Tag the git repos.
* Tag the git repos.
* Publish the documentation pages.
* Publish the yoctoproject.org pages.
* Test the links to make sure everything works.
* Test the links to make sure everything works.
* Announce the release.
* Announce the release.

Revision as of 06:10, 3 May 2017

Yocto Release Procedures

This document explains the steps in publishing an official Yocto Project release. This is intended to be a HOWTO Release Guide.

Yocto Project Naming Conventions

Yocto Project releases fall into four main types:

  • Major Ex. yocto-2.0
  • Minor Ex. yocto-2.1
  • Point (aka "patch" release) Ex. yocto-2.1.1
  • Milestone Ex. yocto-2.3_M3

A full explanation of release naming conventions, release types, and background can be found here: https://wiki.yoctoproject.org/wiki/Yocto_Project_Release_Process

General Steps for a Release:

  • Stage the release candidate.
  • Generate or obtain release notes, if applicable.
  • Stage/create the Release documentation on YoctoProject.org (unpublished but ready to go).
  • Sync the release to the downloads area in preparation for sync to external mirrors.
  • Sign the release notes.
  • Sync to external mirrors.
  • Tag the git repos.
  • Publish the yoctoproject.org pages.
  • Test the links to make sure everything works.
  • Announce the release.

Release Matrix

Major/Minor Point Milestone
Yoctoproject.org Docs Yes Yes No
YoctoProject.org Release Page Yes Yes No
BSP Pages Yes Yes No
Eclipse Plugin Pages Yes Yes No
BuildAppliance Page Yes Yes No
Buildtools Page Yes Yes No
Release Notes (signed) Yes Yes No
Tag Release Yes Yes Yes
Email Announcement Yes Yes Yes

General Steps for a Release:

Release of Build
   - Create the staging directory.
   - Remove the rpm/deb directories.
   - Delete duplicate files and extraneous blobs, and convert symlinks.
   - Rename tarballs to reflect current naming conventions. For example. poky-<githash>.tar.bz2 should be renamed to poky-<release_name>-<release_number>.tar.bz2
   - Generate the BSP tarballs
   - Extract the eclipse-plugin archive to http://downloads.yoctoproject.org/releases/eclipse-plugin/<M>.<m> where M.m is the Yocto version
   - Copy the adt-dev repo to the live site (For release lines prior to 2.0.)
   - Create the md5sum table for the release
  • Copy the staging directory to the downloads directory
  • gpg sign the md5sum table
  • Create release notes, finalize, get approval, and gpg sign.
  • Create the release and BSP pages on yoctoproject.org
  • Create the documentation links for the release on yoctoproject.org
  • Sync the release out to the mirrors.
  • Once sync out is complete, verify that pages work, and download and documentation links work.
  • Tag the repos.
  • Verify the items on the RELEASE CHECKLIST: https://wiki.yoctoproject.org/wiki/Yocto_Project_Release_Checklist
  • Post release announcement on Blog
  • Post release announcement on mailing lists (yocto and yocto-announce)
  • Update DISTRO and DISTRO_VERSION in master to be the main release+snapshot