diff --git a/doc/source/developer/developer.rst b/doc/source/developer/developer.rst index aaa25679..18baf4ed 100644 --- a/doc/source/developer/developer.rst +++ b/doc/source/developer/developer.rst @@ -9,3 +9,4 @@ Documentation of developer-specific options in |project|. tripleo.sh in_progress_review tht_walkthrough/tht_walkthrough + release diff --git a/doc/source/developer/release.rst b/doc/source/developer/release.rst new file mode 100644 index 00000000..84cf50fd --- /dev/null +++ b/doc/source/developer/release.rst @@ -0,0 +1,109 @@ +Release Management +================== + +Before reading this document and being involved in TripleO release management, +it's suggested to read the OpenStack Release Management guide_. + +.. _guide: https://docs.openstack.org/project-team-guide/release-management.html + +Most of TripleO projects follows the cycle-trailing_ release model. +The details can be found on the releases repository_. + +.. _repository: https://git.openstack.org/cgit/openstack/releases/tree/deliverables + +.. _cycle-trailing: https://releases.openstack.org/reference/release_models.html#cycle-trailing + +All information about previous releases can be found on https://releases.openstack.org. +This page will document the process of releasing TripleO projects. + + +The first step is to update ReNo_ configuration file for some projects: tripleo-image-elements, +tripleo-puppet-elements, tripleo-heat-templates and puppet-tripleo. + +.. _ReNo: https://docs.openstack.org/developer/reno + +Edit releasenotes/source/conf.py file and change this line:: + + # The full version, including alpha/beta/rc tags. + release = 'X.Y.Z' + # The short X.Y.Z version. + version = 'X.Y.Z' + +The tagging convention can be discussed with the PTL or the Release Liaison of TripleO. + +For puppet-tripleo, we also need to update metadata.json file:: + + "version": "X.Y.Z", + +For other projects, there is no need to update anything since the release will be ready by pbr. + +.. Note:: + Puppet OpenStack modules release management is documented here: + https://docs.openstack.org/developer/puppet-openstack-guide/releases.html#how-to-release-puppet-modules + +.. Note:: + TripleO UI requires some specific changes to be released too, see https://review.openstack.org/#/c/460664/ + for an example. + +Once this is done, you can submit a patch in openstack/releases and per project create or modify the YAML. +Example with tripleo-heat-templates, edit deliverables/pike/tripleo-heat-templates.yaml:: + + --- + launchpad: tripleo + release-model: cycle-trailing + releases: + - projects: + - hash: e6d1aaac5745f2b32d30f3e41ba8c0a50f5b51d7 + repo: openstack/tripleo-heat-templates + version: 7.0.0.0b1 + send-announcements-to: openstack-announce@lists.openstack.org + team: tripleo + type: other + +Once the file is edited, you can submit it and OpenStack release team will review it. Note that the patch +requires +1 from TripleO PTL or TripleO Release Liaison_. + +.. _Liaison: https://wiki.openstack.org/wiki/CrossProjectLiaisons#Release_management + + +The process of branching is also done by Release tools, and you need to change the YAML to +specify where we want to branch. +Example with tripleo-heat-templates, edit deliverables/ocata/tripleo-heat-templates.yaml:: + + --- + launchpad: tripleo + team: tripleo + release-notes: https://docs.openstack.org/releasenotes/tripleo-heat-templates/ocata.html + type: other + release-model: cycle-trailing + send-announcements-to: openstack-announce@lists.openstack.org + branches: + - name: stable/ocata + location: 6.0.0.0rc1 + releases: + - version: 6.0.0.0b1 + projects: + - repo: openstack/tripleo-heat-templates + hash: 521779edd4dbeb65e0c62c48567dd478b3fab5a5 + - version: 6.0.0.0b2 + projects: + - repo: openstack/tripleo-heat-templates + hash: 1e88f875239b30de24552450b623e6892941fa1e + - version: 6.0.0.0rc1 + projects: + - repo: openstack/tripleo-heat-templates + hash: 5340f64c03902b7a76212a579bcc895d56008df3 + - version: 6.0.0.0rc2 + projects: + - repo: openstack/tripleo-heat-templates + hash: 5f278ebc5cd3426d58c8a05c0f58309681efa055 + - version: 6.0.0 + diff-start: 5.0.0.0rc2 + projects: + - repo: openstack/tripleo-heat-templates + hash: 5f278ebc5cd3426d58c8a05c0f58309681efa055 + + + +Keep in mind that tags, branches, release notes, announcements are generated by the tooling +and nothing has to be done manually, except what is documented here.