Skip to content

Branch & Release Policy

Sung-Jae Lee edited this page Feb 23, 2021 · 2 revisions

Branch Policy

  • All development is done in the master branch.
    • All PRs are merged after at least 1 peer review. (generally, 2 or more reviews are conducted.)
    • PR merge is possible only for maintainer.
  • All releases start with creation of release checklist. (Please reference the Release Guide following.)
  • Create release/* branch at release time, perform release after verification of all quality items following release checklist.
  • When released, create a tag with the name of the release version (following Semantic Versioning 2.0.0)
    • When merging to release/* branch, 3 or more review of PR including review of code owner are required.
    • PR merge is possible only for maintainer.
  • When a patch needs, apply the patch to the release/* branch and then do the patch release. There is no branch out for patch release.
  • When a patch is released, a tag with the patch version incremented by 1 is created.

Release Guide

  1. Create a issue titled "Checklist for Release version" using template https://github.com/Samsung/ONE/issues/4553 .
    • Gathering contents for the release note from each workgroup leader as comments.
  2. (Optional, but Recommended) Check all the release criteria(eg. svace/coverity, license, SAM, line coverage etc) on the master branch.
    • Highly recommended to fix all the issues before release branch out.
  3. Create a release note with the aggregated contents and post a PR.
  4. Update the version of master codes for next release with tools/update_version/update-version script.
  5. Check all the release criteria on release branch.
  6. Get the binary using the artifacts of daily-publish-package from the release branch CI.